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>

Demo下载地址:

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

 微信开发平台官方地址:

Open.weixin.qq.com

先申请成为微信开放平台开发者(:不是公众号平台)

再创建一个应用,

需要配置包名,Android平台下还需要配置应用签名,在下面会讲到:

然后获取移动支付的能力

提交所需要的资料,

移动支付申请成功后会收到一封邮件,

上面有微信商户平台的商户ID,以及登录账号,

用这个账号登陆商户平台:

Pay.weixin.qq.com

接下来在电脑上安装证书:

安装完之后在API安全那里设置商户密钥

IOS平台微信SDK的使用方法:

SDKManager中给IOS SDK添加SystemConfigurationFramework

微信SDK的静态链接库为libWeChatSDK.a

Delphi 10 Seattle 下,把OrangeUI_IOS9Fix.exe, IOSPlistConfig.txt这两个文件拷贝到工程目录下,

并且设置BuildEvents:

$(PROJECTDIR)\OrangeUI_IOS9Fix.exe “$(OUTPUTPATH).info.plist”

IOSPlistConfig.txt内容如下:

修改IOSPlistConfig.txt,将里面的APPID替换成自己的APPID

注意,上面红框中的替换成您开放平台中应用的APPID,

不然支付成功不能跳转回你的APP,

Delphi 10.1 Berlin下面,可以直接编辑源码目录下面的info.plist.TemplateiOS.xml,

在最后的</dict></plist>之前,插入如上的xml片段,

编译器中加以下参数,不然会闪退:

-ObjC -all_load

3264位都需要设置

“`

<key>LSApplicationQueriesSchemes</key>

<array>

    <string>mqqOpensdkSSoLogin</string>

    <string>mqzone</string>

    <string>sinaweibo</string>

    <string>alipayauth</string>

    <string>alipay</string>

    <string>safepay</string>

    <string>mqq</string>

    <string>mqqapi</string>

    <string>mqqopensdkapiV3</string>

    <string>mqqopensdkapiV2</string>

    <string>mqqapiwallet</string>

    <string>mqqwpa</string>

    <string>mqqbrowser</string>

    <string>wtloginmqq2</string>

    <string>weixin</string>

    <string>wechat</string>

</array>

<key>CFBundleURLTypes</key>

<array>

    <dict>

        <key>CFBundleURLName</key>

        <string>weixin</string>

        <key>CFBundleURLSchemes</key>

        <array>

            <string>wx7e4aed8e24992dfc</string>

        </array>

    </dict>

</array>

“`

Android版微信接口使用方法:

先来介绍一下如何用Eclipse生成jar,

比如我们的包名是:com.embarcadero.FairySport

打开Eclipse->File->New->Android Project

输入ProjectName(工程名),ApplicationName(程序名),PackageName(包名),

接下来我们创建wxapi.jar所需要的包com.embarcadero.FairySport.wxapi

File->New->Package

再创建我们需要的类,File->New->Class:

分别是OnWeixinListener, WXEntryActivity, WXPayEntryActivity:

添加完之后并写上相应的代码,然后我们再导出jar:

选中我们的wxapi这个Package,右键,导出,选择Java结点下面的JAR file,

选择好jar生成的路径,

 

点击Finish,就会生成jar了,

最后,用JarOrClass2Pas工具生成wxapi.jarDelphi接口文件

比如我的包名是com.ggggcexx.orangeui

那么需要用Eclipse创建一个wxapi.jar,包含com.ggggcexx.orangeui.wxapi.WXEntryActivity,

因为调用微信接口发完消息会向WXEntryActivity发送调用成功还是失败,

然后再配置AndroidManifest.template.xml,

也就是添加这么一段:

        <activity

            android:name=”.wxapi.WXEntryActivity”

            android:label=”%activityLabel%”

            android:exported=”true”>

        </activity>

再设置需要的权限

如果要使用支付的话,

wxapi.jar中还需要包含com.ggggcexx.orangeui.wxapi.WXPayEntryActivity,

因为调用微信支付接口支付之后会向WXPayEntryActivity发送调用成功还是失败,

还要加

        <activity

            android:name=”.wxapi.WXPayEntryActivity”

            android:label=”%activityLabel%”

            android:exported=”true”>

        </activity>

在工程的Libraries中添加libammsdk.jar, wxapi.jar

创建签名文件

把红框中的md5(去掉冒号)设置到微信平台中