为了简单快速的接入,在申请支付宝商户后,我们可通过沙箱应用进行测试
准备证书
首先登录支付宝开放平台沙箱环境:开放平台-沙箱环境
在 RSA2(SHA256)密钥 设置中的加签模式选择 公钥证书,然后访问 开放平台文档中心 - 签名专区 - 工具 下载对应操作系统的 支付宝开放平台开发助手
打开 支付宝开放平台开发助手 后,直接点击左下角 获取 CSR 文件:【你没看错,就是 PKCS8】
沙箱环境必须在“组织/公司”一栏处填写“沙箱环境”,其它信息可随意,域名参考即可。
如果需要可填写自身用于调试的域名,可填写根域名如 example.com,或二级域名 api.example.com
点击下方打开文件位置,可以看到如下三个文件:
xxx.alipay.com.csr xxx.alipay.com_公钥.txt xxx.alipay.com_私钥.txt
正式环境中私钥非常重要,请妥善保存
回到网页,上传已生成的 CSR 文件:
接着下载页面上的三个文件:
记得下载安装下方沙箱版钱包,用于调试沙箱环境支付【仅支持 Android】
编写代码
这里提供两种方式,一是直接接入官方 SDK,通过 require/include 加载;二是通过 Composer 包自动加载
官方 SDK
首先需在此下载官方 SDK:App支付服务端 DEMO & SDK
然后在 PHP 服务端 SDK 生成 APP 支付订单信息示例 中参考下单代码。
证书相关参数设置参考 JAVA 服务端 SDK 生成 APP 支付订单信息示例(证书)
Composer 包
推荐使用 omnipay-alipay,博主已提交代码支持公钥证书模式
使用方法非常简单:
// 创建基本网关 $gateway = Omnipay::create('Alipay_AopApp'); // App 支付 // 使用证书模式时必须设置签名类型为 RSA2 $gateway->setSignType('RSA2'); // 以下设置基本的 AppID、私钥、支付宝根证书、支付宝及 App 公钥证书等等 $gateway->setAppId('the_app_id'); $gateway->setPrivateKey('the_app_private_key'); // $gateway->setAlipayPublicKey('the_alipay_public_key'); // 【删除此行】证书模式无需设置支付宝公钥 $gateway->setAlipayRootCert('the_alipay_root_cert'); // 对应 alipayRootCert.crt 文件 $gateway->setAlipayPublicCert('the_alipay_public_cert'); // 对应 alipayCertPublicKey_RSA2.crt 文件 $gateway->setAppCert('the_app_public_cert'); // appCertPublicKey.crt // 检查支付宝公钥证书【可忽略】 $gateway->setCheckAlipayPublicCert(true); // 相关回调通知地址 $gateway->setReturnUrl('https://www.example.com/return'); $gateway->setNotifyUrl('https://www.example.com/notify');
至此基本的网关构建就完成了,最后对网关进行需要的操作就行了,例如创建订单:
/** @var AopTradeAppPayResponse $response */ $response = $gateway->purchase()->setBizContent([ // 请求内容参考支付宝文档 ])->send(); // 获取订单字符串用以 App 支付 $orderStr = $response->getOrderString();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。