设为首页 加入收藏

TOP

呕心之作:支付宝的手机网站支付接口的应用(一)
2017-10-10 10:52:16 】 浏览:1785
Tags:呕心 支付 手机 网站 接口 应用

  由于去年做手机Portl接口的工作,需要使用支付宝的支付,于是手机网站支付接口就成了首选。

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,进行下载)

  

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

  

  我使用的是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密钥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' => '
首页 上一页 1 2 3 4 5 下一页 尾页 1/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇PHP soap Web Service 使用SoapDi.. 下一篇php curl 实例+详解

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目