呕心之作:支付宝的手机网站支付接口的应用
2017-02-15 14:04
561 查看
由于去年做手机Portl接口的工作,需要使用支付宝的支付,于是手机网站支付接口就成了首选。
1.首先下载接口包
手机网站支付的产品介绍:https://b.alipay.com/order/productDetail.htm?productId=2013080604609688
demo下载链接:https://doc.open.alipay.com/doc2/detail.htm?treeId=54&articleId=104511&docType=1 (请点击关键字demo,进行下载)
![](https://images2015.cnblogs.com/blog/847208/201604/847208-20160414142603598-355778493.png)
解压下载的文件可以看到文件夹的结构如下图:
![](https://images2015.cnblogs.com/blog/847208/201604/847208-20160414155504441-769201538.png)
我使用的是RSA签名方式,PHP-UTF-8的文件夹
2.readme.txt的文档说明
红色字体的文件是最重要的文件,也是必需的!
![](https://images2015.cnblogs.com/blog/847208/201604/847208-20160413183042113-1821262922.png)
![](https://images2015.cnblogs.com/blog/847208/201604/847208-20160414160009848-898178224.png)
对以上文件进行重命名,
alipay_core.function.php重命名为:Corefunction.php
alipay_notify.class.php重命名为:Notify.php
alipay_rsa.function.php重命名为:Rsafunction.php
alipay_submit.class.php重命名为:Submit.php
打开Notify.php,去掉一下代码,
require_once("alipay_core.function.php");
require_once("alipay_rsa.function.php");
同样的道理去掉其他3个文件里的包含文件。
![](https://images2015.cnblogs.com/blog/847208/201604/847208-20160413185116754-1081682177.png)
如何生成RSA密钥:https://cshall.alipay.com/enterprise/help_detail.htm?help_id=474010&keyword=%C8%E7%BA%CE%C9%FA%B3%C9%B9%AB%CB%BD%D4%BF&sToken=s-5d0c889ac47741fd8094b26d4862696b&from=search&flag=0 (此文中描述的rsa_private_key.pem就是商家的私钥文件)
◆商户的私钥
1、不需要对刚生成的(原始的)私钥做pkcs8编码
2、不需要去掉去掉“-----BEGIN RSA PRIVATE KEY-----”、“-----END RSA PRIVATE KEY-----”
简言之,只要维持用openssl工具刚生成出来的私钥的内容即可。
◆支付宝公钥
1、须保留“-----BEGIN PUBLIC KEY-----”、“-----END PUBLIC KEY-----”这两条文字。
简言之,支付宝公钥只需要维持demo里的原样即可。
(3)alipay_config.php 配置文件
把alipay_config.php 配置文件整合到thinkPHP框架的配置文件里
(4)支付宝帮助中心
https://cshall.alipay.com/enterprise/index.htm
4.调用支付宝接口
(1)新建一个AliMobilePay控制器
如果您阅读过此文章有所收获,请为我顶一个,如果文章中有错误的地方,欢迎指出。
相互学习,共同进步!
1.首先下载接口包
支付宝商家服务中心链接:https://b.alipay.com/login.htm?goto=https://b.alipay.com:443/newIndex.htm
手机网站支付的产品介绍:https://b.alipay.com/order/productDetail.htm?productId=2013080604609688
demo下载链接:https://doc.open.alipay.com/doc2/detail.htm?treeId=54&articleId=104511&docType=1 (请点击关键字demo,进行下载)
![](https://images2015.cnblogs.com/blog/847208/201604/847208-20160414142603598-355778493.png)
解压下载的文件可以看到文件夹的结构如下图:
![](https://images2015.cnblogs.com/blog/847208/201604/847208-20160414155504441-769201538.png)
我使用的是RSA签名方式,PHP-UTF-8的文件夹
2.readme.txt的文档说明
红色字体的文件是最重要的文件,也是必需的!
│ ├lib┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈类文件夹 │ │ │ ├alipay_core.function.php ┈┈┈┈┈┈支付宝接口公用函数文件 │ │ │ ├alipay_notify.class.php┈┈┈┈┈┈┈支付宝通知处理类文件 │ │ │ ├alipay_submit.class.php┈┈┈┈┈┈┈支付宝各接口请求提交类文件 │ │ │ └alipay_rsa.function.php┈┈┈┈┈┈┈支付宝接口RSA函数文件 │ ├log.txt┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈日志文件 │ ├alipay.config.php┈┈┈┈┈┈┈┈┈┈┈┈基础配置类文件 │ ├alipayapi.php┈┈┈┈┈┈┈┈┈┈┈┈┈┈支付宝接口入口文件 │ ├notify_url.php ┈┈┈┈┈┈┈┈┈┈┈┈┈服务器异步通知页面文件 │ ├return_url.php ┈┈┈┈┈┈┈┈┈┈┈┈┈页面跳转同步通知文件 │ ├key┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈私钥公钥文件夹(用法见下方※注意※) │ │ │ ├rsa_private_key.pem┈┈┈┈┈┈┈┈┈商户的私钥文件 │ │ │ └alipay_public_key.pem┈┈┈┈┈┈┈┈支付宝的公钥文件 │ ├openssl┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈缺省dll文件(用法见下方※注意※) │ │ │ ├libeay32.dll │ │ │ ├ssleay32.dll │ │ │ └php_openssl.dll │ ├cacert.pem ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈用于CURL中校验SSL的CA证书文件 │ └readme.txt ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈使用说明文本 3. 把必需的文件整合到框架里(我当时用的是thinkPHP框架) (1)在
![](https://images2015.cnblogs.com/blog/847208/201604/847208-20160413183042113-1821262922.png)
里新建一个文件夹叫AliMobilePay,
![](https://images2015.cnblogs.com/blog/847208/201604/847208-20160414160009848-898178224.png)
把上图里的4个文件拷贝到AliMobilePay文件夹里,
对以上文件进行重命名,
alipay_core.function.php重命名为:Corefunction.php
alipay_notify.class.php重命名为:Notify.php
alipay_rsa.function.php重命名为:Rsafunction.php
alipay_submit.class.php重命名为:Submit.php
打开Notify.php,去掉一下代码,
require_once("alipay_core.function.php");
require_once("alipay_rsa.function.php");
同样的道理去掉其他3个文件里的包含文件。
(2)在根目录下建立一个文件夹key 在key文件夹里放入商户的私钥文件、支付宝的公钥文件、CA证书文件
![](https://images2015.cnblogs.com/blog/847208/201604/847208-20160413185116754-1081682177.png)
如何生成RSA密钥:https://cshall.alipay.com/enterprise/help_detail.htm?help_id=474010&keyword=%C8%E7%BA%CE%C9%FA%B3%C9%B9%AB%CB%BD%D4%BF&sToken=s-5d0c889ac47741fd8094b26d4862696b&from=search&flag=0 (此文中描述的rsa_private_key.pem就是商家的私钥文件)
◆商户的私钥
1、不需要对刚生成的(原始的)私钥做pkcs8编码
2、不需要去掉去掉“-----BEGIN RSA PRIVATE KEY-----”、“-----END RSA PRIVATE KEY-----”
简言之,只要维持用openssl工具刚生成出来的私钥的内容即可。
◆支付宝公钥
1、须保留“-----BEGIN PUBLIC KEY-----”、“-----END PUBLIC KEY-----”这两条文字。
简言之,支付宝公钥只需要维持demo里的原样即可。
(3)alipay_config.php 配置文件
把alipay_config.php 配置文件整合到thinkPHP框架的配置文件里
<?php /** * Created by PhpStorm. * User: zhangxiaoliu * Date: 16/4/15 * Time: 上午10:39 */ //支付宝商家服务中心链接:https://b.alipay.com/login.htm?goto=https://b.alipay.com:443/newIndex.htm return array( 'ALIMOBILEPAY_CONFIG'=>array( //合作身份者id,以2088开头的16位纯数字, (合作身份者id的查看链接:https://b.alipay.com/order/pidAndKey.htm) 'partner' => '2088XXXXXXXXXXXX', //收款支付宝账号,与partner的值一样 'seller_id' => '2088XXXXXXXXXXXX', //商户的私钥(后缀是.pem)文件相对路径 'private_key_path'=> NEW_PORTAL_DOMAIN.'key/rsa_private_key.pem', //支付宝公钥(后缀是.pem)文件相对路径 'ali_public_key_path'=> NEW_PORTAL_DOMAIN.'key/alipay_public_key.pem', //签名方式 不需修改 'sign_type' => strtoupper('RSA'), //字符编码格式 目前支持 gbk 或 utf-8 'input_charset'=> 'utf-8', //ca证书路径地址,用于curl中ssl校验 'cacert' => NEW_PORTAL_DOMAIN.'key/cacert.pem', //访问模式,根据自己的服务器是否支持ssl访问,若支持请选择https;若不支持请选择http 'transport' => 'http', //这里是异步通知页面url,提交到项目的Payment控制器的notifyurl方法; //需http://格式的完整路径,不能加?id=123这类自定义参数 'notify_url'=> NEW_PORTAL_DOMAIN.'portal.php/AliMobilePay/notify_url.php', //这里是页面跳转通知url,提交到项目的Payment控制器的returnurl方法; //需http://格式的完整路径,不能加?id=123这类自定义参数 'return_url'=> NEW_PORTAL_DOMAIN.'portal.php/AliMobilePay/return_url.php', //支付成功跳转到的页面 'successpage'=>NEW_PORTAL_DOMAIN.'portal.php/Success/index', //支付失败跳转到的页面 'errorpage'=>NEW_PORTAL_DOMAIN.'portal.php/Error/index', //商品展示地址 'product_url'=>NEW_PORTAL_DOMAIN.'portal.php/Product/index', ) );
(4)支付宝帮助中心
https://cshall.alipay.com/enterprise/index.htm
4.调用支付宝接口
(1)新建一个AliMobilePay控制器
相互学习,共同进步!
相关文章推荐
- 呕心之作:支付宝的手机网站支付接口的应用
- 支付宝的手机网站支付接口的应用
- 4.PHP接入支付宝手机网站支付、移动支付接口
- 支付宝手机网站支付接口集成的经验小结
- 支付宝接口开发-手机网站支付-沙箱测试
- 支付宝手机网站支付接口API之C#版
- 支付宝接口手机网站支付验证返回字符串以及签名验证不通过的原因总结
- 支付宝接口开发-手机网站支付-沙箱测试
- 自己动手搞定支付宝手机网站支付接口 FOR ECShop
- C#版支付宝手机网站支付接口API之
- 支付宝接口开发-手机网站支付-沙箱测试
- tp3.2 实现新支付宝支付接口 (手机网站支付)
- 支付宝支付-手机网站支付接口(H5手机站)
- .net蚂蚁金服支付宝手机网站支付接口记录
- 支付宝中的手机网站支付接口,php版 notify_url.php 异步通知页面未成功执行
- 支付宝——手机网站支付接口研究
- 支付宝手机网站支付教程
- alipay支付宝 wap手机网站支付错误提示: 通用参数中少了如service、partner等必填参数
- 支付宝集成+网站支付+APP支付+手机网站支付
- 支付宝手机网站支付流程(Node实现)