在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → C#微信、支付宝、新大陆星POS扫码支付动态库

C#微信、支付宝、新大陆星POS扫码支付动态库

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:11.64M
  • 下载次数:19
  • 浏览次数:228
  • 发布时间:2020-05-14
  • 实例类别:一般编程问题
  • 发 布 人:103556710
  • 文件格式:.rar
  • 所需积分:20
 相关标签: POS 支付宝 动态库 扫码 支付

实例介绍

【实例简介】

C#编写的动态库,供powerbuilder、pb调用,实现微信、支付宝、新大陆星POS扫码支付

【实例截图】

from clipboard


from clipboard

【核心代码】

string ls_url
string ls_data
string ls_dd
string ls_zfqd
//【交易类型--传入平台用】
if rb_1.checked = true then
ls_zfqd = "WXPAY"
end if
if rb_2.checked = true then
ls_zfqd = "ALIPAY"
end if
if rb_3.checked = true then
ls_zfqd = "YLPAY"
end if
//【生成请求地址===从配置参数中维护请求地址的一部分】
ls_url = gs_pos_requesturl "sdkBarcodePay.json"
//【判断输入金额是否符合要求】
if dec(em_1.text) <= 0.00 then
messagebox("系统提示【MYSOFT】","所输金额不正确!~r~n请重新输入!")
em_1.setfocus()
return
end if
//【判断商户订单号是否为空】
if sle_4.text = "" then
messagebox("系统提示【MYSOFT】","订单号不能为空!")
return
end if
//【判断是否扫描付款码】
if sle_code.text = "" then
messagebox("系统提示【MYSOFT】","付款码不能为空!")
sle_code.setfocus()
return
end if
//【判断是否扫描付款码】
if len(sle_code.text) = 0 then
messagebox("系统提示【MYSOFT】","请扫描服务对象付款码... ...")
sle_code.setfocus()
return -1
end if
//【判断订单号是否为空】
if len(sle_4.text) = 0 then
messagebox("系统提示【MYSOFT】","订单号不能为空!")
sle_4.setfocus()
return -1
end if
 //【初始化伪随机数发生器,让应用程序每次运用不同的伪随机数序列。】
randomize(0)
//【清除is_keys[] is_value[]】
inv_wxpay.of_clear()
//====================生成公共请求参数==============================================================
//【操作系统:3-直连】
inv_wxpay.of_add_pos("opSys","3")
//【字符集:00-GBK】
inv_wxpay.of_add_pos("characterSet","00")
//【机构号,从配置参数维护】
inv_wxpay.of_add_pos("orgNo",gs_pos_orgno)
//【商户号,从配置参数维护】
inv_wxpay.of_add_pos("mercId",gs_pos_mercid)
//【设备号,从配置参数维护】
inv_wxpay.of_add_pos("trmNo",gs_pos_trmno)
//【商户单号,不能重复,若重复则返回:数据库错误】
inv_wxpay.of_add_pos("tradeNo",sle_4.text)
//【设备端交易时间:yyyymmddhhmmss】
inv_wxpay.of_add_pos("txnTime",string(now(),"yyyymmddhhmmss"))
//【签名方式:MD5】
inv_wxpay.of_add_pos("signType","MD5")
//【版本号:默认V1.0.0】
inv_wxpay.of_add_pos("version","V1.0.0")
//==================生成商户主扫请求参数============================================================
//【实付金额:分为单位】
inv_wxpay.of_add_pos("amount",string(long(dec(em_1.text) * 100)))
//【订单总金额:分为单位】
inv_wxpay.of_add_pos("total_amount",string(long(dec(em_1.text) * 100)))
//【扫码支付授权码】
inv_wxpay.of_add_pos("authCode",sle_code.text)
//【支付渠道:WXPAY,ALIPAY,YLPAY】
inv_wxpay.of_add_pos("payChannel",ls_zfqd)
//【请求参数数据签名,并生成JSON格式数据】
mle_1.text = inv_wxpay.of_get_json()
ls_data = trim(mle_1.text)
mle_2.text = ""
//【POST数据到平台,并接收返回数据:JSON格式】
mle_2.text = inv_wxpay.of_post_pos(ls_url,ls_data)
//【返回JSON数据转换为XML数据,用于交易解析】
mle_2.text = inv_wxpay.of_json_to_xml(mle_2.text)
//===================================以下判断订单交易情况=============================================
if gf_xml_resolve_pos(mle_2.text,"returnCode") = "000000" and gf_xml_resolve_pos(mle_2.text,"result") = "S" then
   
if dw_2.rowcount() = 1 then
//【请求数据XML】
dw_2.object.in_xml[1] = mle_1.text
//【交易金额】
dw_2.object.amount[1] = dec(em_1.text)
//【交易时间】
dw_2.object.zf_date_wx[1] = gf_xml_resolve_pos(mle_2.text,"sysTime")
//【订单状态--保存本地数据库】
dw_2.object.trade_state[1] = "支付成功"
//【支付渠道订单号,可用于退款】
dw_2.object.dd_code[1] = gf_xml_resolve_pos(mle_2.text,"orderNo")
//【付款码】
dw_2.object.fk_code[1] = sle_code.text
dw_2.object.zffs[1] = 1
      //【更新交易到数据库】
if dw_2.update() = 1 then
commit using sqlca;
dw_2.retrieve(trim(sle_4.text))
else
rollback using sqlca;
end if

end if
   //【执行查单操作】
cb_21.triggerevent(clicked!)
//【刷新本地数据】
cb_7.triggerevent(clicked!)
return
end if
//========================================以下判断交易执行情况==================================================
if gf_xml_resolve_pos(mle_2.text,"returnCode") = "000000" and gf_xml_resolve_pos(mle_2.text,"result") = "A" then
messagebox("支付提示【MYSOFT】","状态:【A-等待授权】~n~n【特别注意】:请等候服务对象输入密码确认成功后点[确定]...~n~n还可通过【查询订单状态】检查订单支付情况!")

if dw_2.rowcount() = 1 then
dw_2.object.in_xml[1] = mle_1.text
dw_2.object.amount[1] = dec(em_1.text)
dw_2.object.dd_code[1] = ""
dw_2.object.fk_code[1] = sle_code.text
dw_2.object.zffs[1] = 1
dw_2.object.trade_state[1] = "订单未支付"

if dw_2.update() = 1 then
commit using sqlca;
dw_2.retrieve(trim(sle_4.text))
else
rollback using sqlca;
end if

end if

cb_21.triggerevent(clicked!)
cb_7.triggerevent(clicked!)
return
end if

if gf_xml_resolve_pos(mle_2.text,"returnCode") = "000000" and gf_xml_resolve_pos(mle_2.text,"result") = "A" then
messagebox("支付提示【MYSOFT】","订单等待授权~n~n支付单号:【" gf_xml_resolve_pos(mle_2.text,"orderNo") "】~n~n支付状态:【" gf_xml_resolve_pos(mle_2.text,"result") "】~n~nA-等待授权,S-交易成功,F-交易失败,Z-交易未知,D-订单已撤销!~n~n请重新支付!~n~n系统返回message:" inv_wxpay.of_utf8togb3212(gf_xml_resolve_pos(mle_2.text,"message")))
return
end if

if gf_xml_resolve_pos(mle_2.text,"returnCode") = "000000" and gf_xml_resolve_pos(mle_2.text,"result") = "F" then
messagebox("支付提示【MYSOFT】","订单交易失败~n~n支付单号:【" gf_xml_resolve_pos(mle_2.text,"orderNo") "】~n~n支付状态:【" gf_xml_resolve_pos(mle_2.text,"result") "】~n~nA-等待授权,S-交易成功,F-交易失败,Z-交易未知,D-订单已撤销!~n~n请重新支付!~n~n系统返回message:" inv_wxpay.of_utf8togb3212(gf_xml_resolve_pos(mle_2.text,"message")))
return
end if

if gf_xml_resolve_pos(mle_1.text,"returnCode") = "000000" and gf_xml_resolve_pos(mle_1.text,"result") = "D" then
messagebox("支付提示【MYSOFT】","订单已撤销~n~n支付单号:【" gf_xml_resolve_pos(mle_2.text,"orderNo") "】~n~n支付状态:【" gf_xml_resolve_pos(mle_2.text,"result") "】~n~nA-等待授权,S-交易成功,F-交易失败,Z-交易未知,D-订单已撤销!~n~n请重新支付!~n~n系统返回message:" inv_wxpay.of_utf8togb3212(gf_xml_resolve_pos(mle_2.text,"message")))
return
end if

if gf_xml_resolve_pos(mle_1.text,"returnCode") = "000000" and gf_xml_resolve_pos(mle_1.text,"result") = "Z" then
messagebox("支付提示【MYSOFT】","订单交易未知~n~n支付单号:【" gf_xml_resolve_pos(mle_2.text,"orderNo") "】~n~n支付状态:【" gf_xml_resolve_pos(mle_2.text,"result") "】~n~nA-等待授权,S-交易成功,F-交易失败,Z-交易未知,D-订单已撤销!~n~n请重新支付!~n~n系统返回message:" inv_wxpay.of_utf8togb3212(gf_xml_resolve_pos(mle_2.text,"message")))
return
end if

if gf_xml_resolve_pos(mle_2.text,"returnCode") <> "000000" and gf_xml_resolve_pos(mle_2.text,"result") <> "S" then
messagebox("系统提示【MYSOFT】","订单未成功~n~n支付状态:【" gf_xml_resolve_pos(mle_2.text,"result") "】~n~n A-等待授权,S-交易成功,F-交易失败,Z-交易未知,D-订单已撤销!~n~n系统返回message:" inv_wxpay.of_utf8togb3212(gf_xml_resolve_pos(mle_2.text,"message")))
return
end if

if gf_xml_resolve_pos(mle_2.text,"returnCode") <> "000000" then
messagebox("支付提示【MYSOFT】","支付不成功!~n~n~n~n请重新生成订单并扫码... ...~n~n系统返回message:" inv_wxpay.of_utf8togb3212(gf_xml_resolve_pos(mle_2.text,"message")))
sle_code.text = ""
sle_code.setfocus()
return
end if

return

【文件目录】

PB实现微信支付源代码[QQ103556710]支持新大陆星POS支付-9.0
├── 32位系统注册DLL.bat
├── 64位系统注册DLL.bat
├── AUTOUPDATE.INI
├── AopSdk.2.0.0.0.Fakes.dll
├── AopSdk.dll
├── AppError.txt
├── BCEncode.dll
├── CKY95H.dll
├── CVRApi.dll
├── ClassXP.dll
├── DLL调用说明.txt
├── Eapagent.dll
├── EasySoap.dll
├── ExPat.dll
├── GetNet.dll
├── Gif89.dll
├── Ivmsnmp.dll
├── Ivwnsck.dll
├── MakeQRBarcode.dll
├── MessageBox.DLL
├── Microsoft.QualityTools.Testing.Fakes.dll
├── NetDiskDLL.dll
├── Newtonsoft.Json.dll
├── PCOMM.DLL
├── PIC
│   ├── wxzf.ico
│   └── wxzf.jpg
├── POWERPRN.DLL
├── RegAsm.exe
├── SerialCommDll.dll
├── System.Web.Extensions.dll
├── WX_LOG
├── auto_update.dll
├── auto_update.pbd
├── auto_update.pbl
├── cert
├── dbmsadsn.dll
├── dbmsrpcn.dll
├── dbmsshrn.dll
├── dbmssocn.dll
├── dbmsspxn.dll
├── dbmsvinn.dll
├── dbnetlib.dll
├── dw2xls.pbd
├── dw2xls.pbl
├── ejb2pbdll90.dll
├── encry.dll
├── libEncinaClientJaguar.dll
├── libEncina_nodce.dll
├── libeay32.dll
├── libjcc.dll
├── libjotsclnt.dll
├── libjsybheap.dll
├── msvcr71.dll
├── my_auto_update.exe
├── my_auto_update.pbd
├── nntcp.dll
├── ntwdblib.DLL
├── pbwxpay.pbd
├── pbwxpay.pbl
├── pbwxpay.pbt
├── print.pbd
├── print.pbl
├── psdwc80.dll
├── regdll_u.bat
├── regsvr32.exe
├── sldll.dll
├── ssleay32.dll
├── starpos.ini
├── wx.ini
├── wx_zf.dll
├── wx_zf.exe
├── wx_zf.pbd
├── wx_zf.pbl
├── wx_zf.pbt
├── wx_zf.pbw
├── xerces-c_1_5_1.dll
├── xerces-c_2_1_0.dll
├── yl.pbd
├── yl.pbl
├── zfb.ini
├── zip.dll
├── 密钥
│   ├── 应用公钥2048.txt
│   └── 应用私钥2048.txt
├── 使用说明.txt
└── 微信支付SQL脚本201810.txt

4 directories, 83 files


网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警