PHP 接入支付宝公钥证书指南
为了简单快速的接入,在申请支付宝商户后,我们可通过沙箱应用进行测试 准备证书首先登录支付宝开放平台沙箱环境:开放平台-沙箱环境 在 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(); (编辑:北几岛) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |