PB新大陆星POS扫码支付源码,调用C#动态库,简单实现接口,采用POWERBUILDER9.0开发
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"
1