1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 支付宝的手机网站支付接口的应用

支付宝的手机网站支付接口的应用

时间:2020-01-19 03:15:14

相关推荐

支付宝的手机网站支付接口的应用

1.首先下载接口包

支付宝商家服务中心链接:/login.htm?goto=:443/newIndex.htm

手机网站支付的产品介绍:/order/productDetail.htm?productId=080604609688

demo下载链接:https://doc./doc2/detail.htm?treeId=54&articleId=104511&docType=1(请点击关键字demo,进行下载)

解压下载的文件可以看到文件夹的结构如下图:

我使用的是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)在 里新建一个文件夹叫AliMobilePay,

把上图里的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证书文件

如何生成RSA密钥:/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

*/

//支付宝商家服务中心链接:/login.htm?goto=:443/newIndex.htm

return array(

'ALIMOBILEPAY_CONFIG'=>array(

//合作身份者id,以2088开头的16位纯数字, (合作身份者id的查看链接:/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)支付宝帮助中心

/enterprise/index.htm

4.调用支付宝接口

(1)新建一个AliMobilePay控制器

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。