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