| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 5598 人关注过本帖
标题:VB6能做微信支付和支付宝支付二维码被扫吗?
只看楼主 加入收藏
liuzhaoyzz
Rank: 2
等 级:论坛游民
威 望:1
帖 子:12
专家分:17
注 册:2016-7-21
收藏
已结贴  问题点数:20 回复次数:5 
VB6能做微信支付和支付宝支付二维码被扫吗?
    VB6能做微信支付和支付宝支付二维码被扫吗?
用户展示付款码,VB6程序用扫码枪扫描客户的二维码用于付款,能够实现吗?
   
搜索更多相关主题的帖子: 客户 扫描 二维 支付宝 VB6 
2018-08-23 10:13
wlrjgzs
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:26
帖 子:212
专家分:1566
注 册:2017-4-10
收藏
得分:20 
有难度,虽然微信和支付宝均提供了API接口以及相关语言的SDK,但并没有提供适合VB使用的SDK,所以难度比较高。
2018-08-24 12:26
csl591
Rank: 4
等 级:贵宾
威 望:10
帖 子:78
专家分:92
注 册:2009-2-5
收藏
得分:0 
能实现但收不到钱。
2018-11-28 10:33
zhangjin7422
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-9-20
收藏
得分:0 
完全没有问题,以下是代码:
Private 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, ByRef outinf As Any) As Integer
Private 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, ByRef outinf As Any) As Integer
Private 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
 
Private Declare Function ZhiFuBaoPayCodeEx1 Lib "PayApiFun.dll" (ByVal Lockappid As String, ByVal AuthCode As String, ByVal OrdNum As String, ByVal TotalFee As String, ByRef outinf As Any) As Integer
Private Declare Function ZhiFuBaoPayQRCodeEx1 Lib "PayApiFun.dll" (ByVal Lockappid As String, ByVal OrdNum As String, ByVal TotalFee As String, ByRef outinf As Any) As Integer
Private Declare Function ZhiFuBaoQueryEx1 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 outinf(255) As Byte
 
Text4 = ""
 
Lockappid = Trim(WXGZH.Text)                            '加密后的微信公众账号
Lockmchid = Trim(WXSFH.Text)                            '加密后的商户号
Idkey = Trim(WXKEY.Text)                                'KEY
If Option2.Value Then IdkeyLock = 1 Else IdkeyLock = 0  '1 KEY已加密,0不加密
 
OrdNum = Trim(Text2.Text)
TotalFee = Trim(Text3.Text)    '总计支付金额,单位分
 
If OrdNum = "" Then MsgBox "请输入商户号内的唯一订单编号!", vbCritical + vbOKOnly, "提示": Text2.SetFocus: Exit Sub
 
Command16.Caption = "正在申请,请稍后..."
Command16.Enabled = False
 
resul = WeiXinPayQRCodeEx1(Lockappid, Lockmchid, Idkey, IdkeyLock, OrdNum, TotalFee, VarPtr(outinf(0)))
 
Select Case resul
    Case 0
        Text6.Text = Trim(MidB(StrConv(outinf, vbUnicode), 1, 255))
        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))
    Case Else
        Text4.Text = "微信支付单号‘" + OrdNum + "’二维支付地址申请失败!" + Trim(MidB(StrConv(outinf, vbUnicode), 1, 255))
End Select
Command16.Caption = "生成微信支付二维码 Ex1"
Command16.Enabled = True
 
End Sub
 
Private Sub Command5_Click()  ’按单号查询支付结果
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 outinf(255) As Byte
 
Text4 = ""
 
Lockappid = Trim(WXGZH.Text)                            '加密后的微信公众账号
Lockmchid = Trim(WXSFH.Text)                            '加密后的商户号
Idkey = Trim(WXKEY.Text)                                'KEY
If Option2.Value Then IdkeyLock = 1 Else IdkeyLock = 0  '1 KEY已加密,0不加密
 
OrdNum = Trim(Text2.Text)
If OrdNum = "" Then MsgBox "请输入商户号内的唯一订单编号!", vbCritical + vbOKOnly, "提示": Text2.SetFocus: Exit Sub
 
Command5.Enabled = False
Command5.Caption = "正在查询中,请稍后..."
 
WeiXinQueryEx1 Lockappid, Lockmchid, Idkey, IdkeyLock, OrdNum, VarPtr(outinf(0))
Text4.Text = MidB(StrConv(outinf, vbUnicode), 1, 255)
 
Command5.Enabled = True
Command5.Caption = "查询订单状态 Ex1"
End Sub

2019-09-21 09:57
chenlongsoft
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2022-8-29
收藏
得分:0 
VB6微信支付&支付宝支付到个人账户源代码


官网 http://www.

下载 http://www.
2022-08-29 23:29
亮亮贝
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2017-2-1
收藏
得分:0 
* 主程序:用户付款码支付
* 1. 配置商户信息
LOCAL cAppId, cMchId, cApiKey
cAppId = "wxc88c82b6a3921129"  && 替换为你的APPID
cMchId = "1640495221"          && 替换为商户号
cApiKey = "4EC050348e066198c2c4a051C1388834"  && 替换为API密钥
* 2. 获取用户付款码(18位数字,可通过扫码设备输入或手动录入)
LOCAL cAuthCode
cAuthCode = ALLTRIM(thisform.text1.value)
IF LEN(ALLTRIM(cAuthCode)) != 18
    MESSAGEBOX("付款码格式错误(需18位数字)")
    RETURN
ENDIF

* 3. 构造订单参数
LOCAL cNonceStr, cOutTradeNo, cBody, nTotalFee, cParams
cNonceStr = GetNonceStr()  && 随机字符串
cOutTradeNo = "PAY" + ttoc(DATETIME(),1) + RIGHT(STR(INT(RAND()*1000000)),6)  && 唯一订单号
cBody = "微信付款测试"  && 商品描述
cTotalFee = TRANSFORM(1) && 支付金额(单位:分,示例1分)
cgetwxpayip=getwxpayip()
cParams = ;
    "appid=" + cAppId + "&" + ;
    "auth_code=" + cAuthCode + "&" + ;  && 用户付款码
     "body=" + cBody + "&" + ;
    "mch_id=" + cMchId + "&" + ;
    "nonce_str=" + cNonceStr + "&" + ;
    "out_trade_no=" + cOutTradeNo + "&" + ;
    "spbill_create_ip="+cgetwxpayip+ "&" + ;  && 付款电脑公网IP
    "total_fee=" + cTotalFee +;
    "&key="+cApiKey          &&最后拼接商户密钥
   
* 4. 生成签名
LOCAL cSign
cSign = UPPER(vfpmd5(cParams) )

* 5. 构造XML请求数据(微信接口要求XML格式)
LOCAL cXml
cXml = ;
    "<xml>" + ;
    "<appid>" + cAppId + "</appid>" + ;
    "<mch_id>" + cMchId + "</mch_id>" + ;
    "<nonce_str>" + cNonceStr + "</nonce_str>" + ;
    "<body>" + cBody + "</body>" + ;
    "<out_trade_no>" + cOutTradeNo + "</out_trade_no>" + ;
    "<total_fee>" + cTotalFee + "</total_fee>" + ;
    "<spbill_create_ip>"+cgetwxpayip+"</spbill_create_ip>" + ;
    "<auth_code>" + cAuthCode + "</auth_code>" + ;
    "<sign>" + cSign + "</sign>" + ;
    "</xml>"
STRTOFILE(cXml,"111.txt")
* 6. 发送POST请求到微信接口Server
LOCAL oHttp, cResponse
oHttp = CREATEOBJECT("WinHttp.WinHttpRequest.5.1")
oHttp.Open("POST", "https://api.mch.weixin., .F.)
oHttp.Option(9, 2720)  && 9 = SecureProtocols, 2048 = TLS 1.2显式启用TLS 1.2(值为2048)
oHttp.Option(12,13056)
oHttp.SetRequestHeader("Content-Type", "text/xml; charset=utf-8")
oHttp.send(cXml)
* 7. 处理返回结果
IF oHttp.status = 200
    cResponse = oHttp.responseText
    * 解析XML返回结果(使用VFP的XMLTOCURSOR函数)
    XMLTOCURSOR(cResponse, "curResult", 8192)
    SELECT curResult
    LOCAL cReturnCode, cReturnMsg
    cReturnCode = curResult.return_code
    cReturnMsg = curResult.return_msg

    IF cReturnCode = "SUCCESS"
        * 接口调用成功,检查业务结果
        IF curResult.result_code = "SUCCESS"
            MESSAGEBOX("支付成功!订单号:" + cOutTradeNo)
            * 此处可更新本地订单状态(如写入数据库)
        ELSE
            MESSAGEBOX("支付失败:" + curResult.err_code_des)
        ENDIF
    ELSE
        MESSAGEBOX("接口调用失败:" + cReturnMsg)
    ENDIF
ELSE
    MESSAGEBOX("请求失败,状态码:" + TRANSFORM(oHttp.status))
2026-05-03 10:01
快速回复:VB6能做微信支付和支付宝支付二维码被扫吗?
数据加载中...
 
   
关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052200 second(s), 9 queries.
Copyright©2004-2026, BCCN.NET, All Rights Reserved