vb6开发支付宝、微信支付

QQ:954486673

微信:13822155058

淘宝:https://shop73172356.taobao.com/

下载:https://download.csdn.net/download/zhangjin7422/16518044

 

 

 

Public Declare Function WeiXinPayCodeEx1 Lib "PayApiFun.dll" (ByVal Lockappid As String, ByVal Lockmchid As String, ByVal Idkey As String, ByVal IdkeyLock As Integer, ByVal AuthCode As String, ByVal OrdNum As String, ByVal TotalFee As String, ByVal inbody As String, ByRef outinf As Any) As Integer

Public Declare Function WeiXinPayQRCodeEx1 Lib "PayApiFun.dll" (ByVal Lockappid As String, ByVal Lockmchid As String, ByVal Idkey As String, ByVal IdkeyLock As Integer, ByVal OrdNum As String, ByVal TotalFee As String, ByVal inbody As String, ByRef outinf As Any) As Integer

 

Public Declare Function WeiXinQueryEx1 Lib "PayApiFun.dll" (ByVal Lockappid As String, ByVal Lockmchid As String, ByVal Idkey As String, ByVal IdkeyLock As Integer, ByVal OrdNum As String, ByRef outinf As Any) As Integer

 

Public Declare Function WeiXinCloseOrderEx1 Lib "PayApiFun.dll" (ByVal Lockappid As String, ByVal Lockmchid As String, ByVal Idkey As String, ByVal IdkeyLock As Integer, ByVal OrdNum As String, ByRef outinf As Any) As Integer

 

Public Declare Function ZhiFuBaoPayCodeEx1 Lib "PayApiFun.dll" (ByVal Lockappid As String, ByVal AuthCode As String, ByVal OrdNum As String, ByVal TotalFee As String, ByVal inbody As String, ByRef outinf As Any) As Integer

 

Public Declare Function ZhiFuBaoPayQRCodeEx1 Lib "PayApiFun.dll" (ByVal Lockappid As String, ByVal OrdNum As String, ByVal TotalFee As String, ByVal inbody As String, ByRef outinf As Any) As Integer

 

Public Declare Function ZhiFuBaoQueryEx1 Lib "PayApiFun.dll" (ByVal Lockappid As String, ByVal OrdNum As String, ByRef outinf As Any) As Integer

 

Public Declare Function ZhiFuBaoPayCancelEx1 Lib "PayApiFun.dll" (ByVal Lockappid As String, ByVal OrdNum As String, ByRef outinf As Any) As Integer

 

 

Private Sub Command16_Click()

Dim resul As Integer

Dim Lockappid As String

Dim Lockmchid As String

Dim Idkey As String

Dim IdkeyLock As Integer

 

Dim AuthCode As String

Dim OrdNum As String

Dim TotalFee As String

Dim inbody As String

Dim outinf(255) As Byte

 

Text4 = ""

 

If Trim(Text2) = "" Then MsgBox "请输入商户号内的唯一订单编号!", vbCritical + vbOKOnly, "提示": Command1_Click: Exit Sub

If Trim(Text3) = "" Then MsgBox "请输入支付金额!", vbCritical + vbOKOnly, "提示": Command1_Click: Exit Sub

If CCur(Text3.Text) * 100 = 0 Then MsgBox "请输入支付金额!", vbCritical + vbOKOnly, "提示": Command1_Click: Exit Sub

 

Lockappid = Trim(WXGZH.Text)                              '微信公众账号

Lockmchid = Trim(WXSFH.Text)                              '微信商户号

Idkey = Trim(WXKEY.Text)                                       'API密钥

OrdNum = Trim(Text2.Text)                                      '支付订单号 (需唯一)

TotalFee = Format(CCur(Text3.Text) * 100, "0")       '总计支付金额,单位分

inbody = Trim(Text7.Text)                                         '商品信息

If Option2.Value Then IdkeyLock = 1 Else IdkeyLock = 0  '1 KEY已加密,0不加密

 

Command16.Caption = "正在申请,请稍后..."

Command16.Enabled = False

 

resul = WeiXinPayQRCodeEx1(Lockappid, Lockmchid, Idkey, IdkeyLock, OrdNum, TotalFee, inbody, VarPtr(outinf(0)))

 

PayInfStr = MidB(StrConv(outinf, vbUnicode), 1, 255)

PayInfStr = "Wei    " & OrdNum & "    " & Trim(PayInfStr)

WriteInf PayInfStr

 

Select Case resul

    Case 0

        QrcodeTimer = Now

        Text4.Text = "微信支付单号‘" + OrdNum + "’支付二维码已经生成,有效时间5分钟,可轮询调用‘查询微信订单状态’函数查询支付结果!"

        Image1.Picture = LoadPicture(App.Path & "\QRcode.BMP")  

    Case 1

        Text4.Text = "微信支付单号‘" + OrdNum + "’正在申请支付二维码..." + Trim(MidB(StrConv(outinf, vbUnicode), 1, 255))

    Case -10

        Text4.Text = "微信支付单号‘" + OrdNum + "’二维支付地址:" + Trim(MidB(StrConv(outinf, vbUnicode), 1, 255))   '二维码字符串申请成功,生成图形时异常

        QrcodeTimer = Now

    Case Else

        Text4.Text = "微信支付单号‘" + OrdNum + "’二维支付地址申请失败!API接口返回信息:" + Trim(MidB(StrConv(outinf, vbUnicode), 1, 255))

End Select

 

Command16.Caption = "生成二维码扫码支付 Ex1"

Command16.Enabled = True

 

If resul = 0 Then QueryWeiXin

End Sub

 

 

Private Sub Command7_Click()

Dim resul As Integer

Dim Lockappid As String

 

Dim AuthCode As String

Dim OrdNum As String

Dim TotalFee As String

Dim inbody As String

Dim outinf(255) As Byte

 

Text4 = ""

If Trim(Text2) = "" Then MsgBox "请输入商户号内的唯一订单编号!", vbCritical + vbOKOnly, "提示": Command1_Click: Exit Sub

If Trim(Text3) = "" Then MsgBox "请输入支付金额!", vbCritical + vbOKOnly, "提示": Command1_Click: Exit Sub

If CCur(Text3.Text) = 0 Then MsgBox "请输入支付金额!", vbCritical + vbOKOnly, "提示": Command1_Click: Exit Sub

If Trim(Text1) = "" Then MsgBox "请扫描或输入正确的支付宝付款码!", vbCritical + vbOKOnly, "提示": Text1.SetFocus: Exit Sub

 

Lockappid = Trim(ZFBAPPID.Text)                                 '支付宝合作身份者(APPID)

OrdNum = Trim(Text2.Text)                                            '支付订单号 (需唯一)

TotalFee = Format(CCur(Text3.Text), "0.00")                 '总计支付金额,单位元

AuthCode = Trim(Text1)                                                 '支付宝付款码

inbody = Trim(Text7.Text)                                               '商品信息

 

If Option4.Value Then

    If MsgBox("  本次支付将从支付宝账号扣款,此扣款不能退回,确定要继续吗?", vbQuestion + vbOKCancel) <> vbOK Then Exit Sub

End If

 

Command7.Caption = "正在支付中,请稍后..."

Command7.Enabled = False

 

resul = ZhiFuBaoPayCodeEx1(Lockappid, AuthCode, OrdNum, TotalFee, inbody, VarPtr(outinf(0)))

 

Text1.Text = ""

PayInfStr = "ZFB    " & OrdNum & "    " & MidB(StrConv(outinf, vbUnicode), 1, 255)

WriteInf PayInfStr

 

Select Case resul

    Case 0

        Text4.Text = "支付宝支付单号‘" + OrdNum + "’支付成功!" + MidB(StrConv(outinf, vbUnicode), 1, 255)

        MsgBox "支付宝支付单号‘" + OrdNum + "’支付成功!", vbInformation + vbOKOnly, "提示"

        Command1_Click

    Case 1

        Text4.Text = "支付宝支付单号‘" + OrdNum + "’正在支付中...请稍后查询此单支付状态,API接口返回信息:" + MidB(StrConv(outinf, vbUnicode), 1, 255)

        QueryZhiFuBao

    Case Else

        Text4.Text = "支付宝支付单号‘" + OrdNum + "’支付失败!API接口返回信息:" + MidB(StrConv(outinf, vbUnicode), 1, 255)

        MsgBox "支付宝支付单号‘" + OrdNum + "’支付失败!", vbCritical + vbOKOnly, "提示"

        Command1_Click

End Select

 

Command7.Caption = "扫支付宝付款码支付 Ex1"

Command7.Enabled = True

End Sub

猜你喜欢

转载自blog.csdn.net/zhangjin7422/article/details/113242954