此资源为版本9.0的代理支付软件包,支持微信、支付宝以及新大陆星POS等多种支付方式的集成与管理,适用于需要多渠道收款的企业或个人用户。
PB新大陆星POS扫码支付源码使用C#动态库实现接口调用,并采用POWERBUILDER9.0开发。
首先确定交易类型:
```
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
```
检查输入金额是否正确,如果金额小于或等于0,则弹出提示信息并聚焦到相应控件。
判断商户订单号和付款码是否为空。若为空则显示相应的错误消息,并将焦点设置至空的字段上。
初始化随机数发生器:
```
randomize(0)
```
清除is_keys[] 和 is_value[],然后添加公共请求参数:
```
inv_wxpay.of_add_pos(opSys,3) // 操作系统:3-直连
inv_wxpay.of_add_pos(characterSet,00) // 字符集:00-GBK
// 其他配置信息从配置文件中获取并设置,包括机构号、商户号和设备号等。
```
生成请求参数,并将数据签名后转换为JSON格式。
发送POST请求到平台并接收返回的JSON数据。解析返回的数据以判断交易状态:
```
if gf_xml_resolve_pos(mle_2.text,returnCode) = 000000 and gf_xml_resolve_pos(mle_2.text,result) = S then
// 处理成功支付的情况,包括更新数据库等操作。
end if
if gf_xml_resolve_pos(mle_2.text,returnCode) = 000000 and gf_xml_resolve_pos(mle_2.text,result) = A then
// 显示等待授权的提示信息,并处理订单未支付的状态。
end if
if gf_xml_resolve_pos(mle_2.text,returnCode) = 000000 and gf_xml_resolve_pos(mle_2.text,result) = F then
// 处理交易失败的情况,包括显示错误消息等操作。
end if
```
以上代码段展示了如何在PB环境下使用C#动态库进行扫码支付接口的调用和处理。