Delphi XE10实现移动端支付宝支付接口(含源码)

Demo下载地址:

https://pan.baidu.com/s/14i84u 

 

加入支付宝开发者平台,

https://open.alipay.com

签约移动支付服务
访问https://b.alipay.com/order/productSet.htm

有一个”移动支付”产品,点击右下解的”了解详情”

再点击”在线申请”
提交营业执照以及需要的文档
通过之后可以查看到已经签约的产品:
https://b.alipay.com/order/signManage.htm?channel=ent

点击上方的“查看PID和Key”获取商户的PID,

在开放平台应用管理页面:
https://openhome.alipay.com/platform/appManage.htm
创建一个应用,并配置应用信息:

点击应用右下角的”查看”,

点击应用环境,配置应用网关和RSA密钥,
应用网关是用户支付一笔订单,支付宝会向此网关Post这笔订单的详情与状态(下订单,取消订单,支付成功)。

使用OpenSSL配置好RSA公钥和私钥,生成KCS8的私钥
https://doc.open.alipay.com/doc2/detail?treeId=58&articleId=103242&docType=1
RSA密钥生成命令
生成RSA私钥
openssl>genrsa -out rsa_private_key.pem 1024
生成RSA公钥
openssl>rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
将RSA私钥转换成PKCS8格式
openssl>pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt

注意:“>”符号后面的才是需要输入的命令。

PKCS8格式的字符串是我们代码里面要用的,用来加密
而生成的这个rsa_public_key.pem里面是我们要上传到支付宝的开发者公钥

在下面设置:

IOS平台使用方法:
布署如下文件

Delphi 10 Seattle 下,把OrangeUI_IOS9Fix.exe, IOSPlistConfig.txt拷贝到工程目录,并设置Build Events:
$(PROJECTDIR)\OrangeUI_IOS9Fix.exe “$(OUTPUTPATH).info.plist”

这个IOSSchema必须和IOSPlistConfig.txt中的CFBundleURLSchemes对应起来,

不然支付完不能返回到您自己的应用中。
注意:这里的URL Schemes中输入的alisdkdemo,为测试demo,实际商户的app中要填写独立的scheme,建议跟商户的app有一定的标示度,要做到和其他的商户app不重复,否则可能会导致支付宝返回的结果无法正确跳回商户app。

Delphi 10.1 Berlin下面,可以直接编辑源码目录下面的info.plist.TemplateiOS.xml,
在最后的</dict></plist>之前,插入IOSPlistConfig.txt中的xml片段,

Android平台下使用方法:

添加JAR

设置权限:

配置AndroidManifest.template.xml

也就是加上下面这一段XML:
<activity
android:name=”com.alipay.sdk.app.H5PayActivity” android:configChanges=”orientation|keyboardHidden|navigation” android:exported=”false”
android:screenOrientation=”behind” >
</activity>
<activity
android:name=”com.alipay.sdk.auth.AuthActivity” android:configChanges=”orientation|keyboardHidden|navigation” android:exported=”false”
android:screenOrientation=”behind” >
</activity>

发表评论