Payment:支付宝支付配置文件设置教程
2017-03-10 09:44
429 查看
项目GitHub地址:https://github.com/helei112g/payment
从2016年6月payment做出来,到这一版本(3.0),坚持了快一年啦。感谢这期间给我支持(打赏与协作)的人。
当前
支持的支付宝相关接口清单:
- 即时到账功能(主要用于pc上支付)
- 手机网站支付(WAP支付)
- APP支付(移动支付)
- 当面付(扫码支付与条码支付)
- 交易查询(支付订单查询接口)
- 退款接口(完成支付的订单,可通过该接口完成退款)
- 退款查询接口(退款接口需要通过该接口进行查询状态)
- 单笔转账到支付宝账户接口(只能转到用户支付宝帐号)
- 转账订单查询接口(查询转账订单状态)
ps: 支付宝接口从 payment 3.0 开始,仅支持支付宝新版本接口。
支持的微信支付相关接口清单:
- 手机网站支付(H5支付,特殊商家可用)
- APP支付(移动支付)
- 公众号支付
- 刷卡支付(类似支付宝的条码支付)
- 小程序支付
- 交易查询(支付订单查询)
- 申请退款接口
- 查询退款接口
- 企业付款给个人接口
- 查询企业付款接口
微信最糟糕的就是,不同支付接口,需要申请不同的商户号。这里简单总结一下:
APP支付 必须到 微信开放平台申请一个应用,然后去申请开通支付功能,申请的商户帐号无法用于 公众号支付与小程序支付。
公众号支付 必须首先有一个认证的服务号,然后到公众号后台进行申请开通支付功能。又会获得一个商户号
小程序支付 微信分配的小程序ID,所以恭喜你,你又有了一个商户号
至于其他支付,目前检测好像可用共享。也就只剩下一个刷卡支付了。
本文主要讲解支付宝的配置文件,配置清单如下:
在支付中最麻烦的就是配置密钥。这里逐一为大家说明每一个配置的含义、以及如何进行设置。
其中 是否必须 列表中如果标记为
接下来对每一个参数详细说明,不同的设置带来的不同效果。
下面简单介绍沙箱的使用方式。
首先登陆 蚂蚁金服开放平台 按照下图找到自己的沙箱应用。
大家注意截图,重要的配置信息均来自这里。
这部分信息较敏感,就不截图了。
接下来,密钥的配置是重点,70% 的支付无法成功的原因,均是密钥设置问题。
关于密钥如何生成与配置,请看
支付宝官方密钥生成与配置教程
这里一定要记得是 支付宝的公钥,不是你自己本地生成的,而是在开发平台中上传自己的公钥后,拿到的支付宝公钥。
接下来就是这个配置该如何填写了。这里支持文件的方式,你可以将支付宝公钥复制到一个单独的文件,然后这个字段填写对应文件的路径。例如:
你也可用直接将支付宝公钥的值,填入这里,例如:
这里为了文章排版美观,有删减部分支付宝公钥内容
无论那种方式,强烈建议在填入时,去掉:
—–BEGIN PUBLIC KEY—–
以及 —–END PUBLIC KEY—– 只保留中间部分的内容。
请记得只保留密钥内容部分。
这里请一定分清楚 私钥,是商户自己生成的。 公钥,是支付宝开发平台看到的
官方链接
这里强烈建议以支付宝服务器的通知为依据来判断是否支付成功。关于异步通知的处理,在后面的文章将有专题讲解。
如果设置为false ,则会抛弃支付宝的某些字段。并且会对某些字段名称进行重新映射,这种方式带来的好处是,可用确保支付宝、微信返回的数据是基本一致的,但是可能导致调用者损失部分信息。这里大家根据实际情况进行衡量。
至此,支付宝的配置全部讲解完毕。 去看看如何完成即时到账吧
如果你有不清楚的或者愿意交流的地方,请联系我:
邮箱:dayugog@gmail.com
如果你觉得这个项目有帮助到你,请打赏我,让我有动力持续下去左边微信,右边支付宝:
ps: 一般性的问题请大家可以先查资料,如果实在无法解决找我吧(不免费服务)。
从2016年6月payment做出来,到这一版本(3.0),坚持了快一年啦。感谢这期间给我支持(打赏与协作)的人。
Payment主要针对支付宝支付、微信支付的接口进行了聚合。开发者无需重复集成繁琐的支付接口,使用
Payment就能应对所有支付场景,快速接入支付功能。
Payment针对不同支付服务商的接口,提供了统一的调用方式,并且内部将签名、验签进行了集成,使用者只需要喂数据然后拿到结果进行自己的业务即可。完全屏蔽支付宝与微信内部繁杂的细节。只要按照我的文档操作,10分钟可完成支付流程。
当前
Payment基本接入完支付宝与微信的资金相关接口。到当前为止,
Payment SDK主要支持功能如下:
支持的支付宝相关接口清单:
- 即时到账功能(主要用于pc上支付)
- 手机网站支付(WAP支付)
- APP支付(移动支付)
- 当面付(扫码支付与条码支付)
- 交易查询(支付订单查询接口)
- 退款接口(完成支付的订单,可通过该接口完成退款)
- 退款查询接口(退款接口需要通过该接口进行查询状态)
- 单笔转账到支付宝账户接口(只能转到用户支付宝帐号)
- 转账订单查询接口(查询转账订单状态)
ps: 支付宝接口从 payment 3.0 开始,仅支持支付宝新版本接口。
支持的微信支付相关接口清单:
- 手机网站支付(H5支付,特殊商家可用)
- APP支付(移动支付)
- 公众号支付
- 刷卡支付(类似支付宝的条码支付)
- 小程序支付
- 交易查询(支付订单查询)
- 申请退款接口
- 查询退款接口
- 企业付款给个人接口
- 查询企业付款接口
微信最糟糕的就是,不同支付接口,需要申请不同的商户号。这里简单总结一下:
APP支付 必须到 微信开放平台申请一个应用,然后去申请开通支付功能,申请的商户帐号无法用于 公众号支付与小程序支付。
公众号支付 必须首先有一个认证的服务号,然后到公众号后台进行申请开通支付功能。又会获得一个商户号
小程序支付 微信分配的小程序ID,所以恭喜你,你又有了一个商户号
至于其他支付,目前检测好像可用共享。也就只剩下一个刷卡支付了。
本文主要讲解支付宝的配置文件,配置清单如下:
return [ 'use_sandbox' => true, 'partner' => '2088102169252684', 'app_id' => '2016073100130857', 'sign_type' => 'RSA2', 'ali_public_key' => 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAU3GYXkAaumdWQt7IDAQAB', 'rsa_private_key' => dirname(__FILE__) . DIRECTORY_SEPARATOR . 'rsa_private_key.pem', 'limit_pay' => [ //'balance', //'moneyFund', // ... ... ], 'notify_url' => 'https://helei112g.github.io/', 'return_url' => 'https://helei112g.github.io/', 'return_raw' => false, ];
在支付中最麻烦的就是配置密钥。这里逐一为大家说明每一个配置的含义、以及如何进行设置。
其中 是否必须 列表中如果标记为
是,则该项必须设置,否则sdk将无法得到结果。
参数 | 类型 | 是否必须 | 说明 |
---|---|---|---|
use_sandbox | boolean | 否 | 是否开启沙箱模式 |
partner | string | 是 | 商户UID,以2088开头 |
app_id | string | 是 | 支付宝分配给开发者的应用ID |
sign_type | string | 是 | 签名方式 |
ali_public_key | string | 是 | 支付宝公钥 |
rsa_private_key | string | 是 | 用户应用私钥 |
limit_pay | string | 否 | 限制的支付方式 |
notify_url | string | 是 | 支付宝异步通知的服务器地址 |
return_url | string | 否 | 支付报支付成功返回地址 |
return_raw | boolean | 否 | 是否返回支付宝原始数据 |
use_sandbox支付宝新版本提供了沙箱模式。如果该选项设置为
true则使用支付宝的沙箱功能。
下面简单介绍沙箱的使用方式。
首先登陆 蚂蚁金服开放平台 按照下图找到自己的沙箱应用。
大家注意截图,重要的配置信息均来自这里。
partner对应图中的 商户UID,如果是正式应用,可用在【我的应用】=》【应用】中找到对应的信息。
这部分信息较敏感,就不截图了。
app_id就是对应的创建的应用的id。图中有很醒目的字标记。
sign_type请求支付时,数据加密的方式,目前支持RSA2和RSA,推荐使用RSA2。你完全不用管签名的实现,只需要这里做一下配置就好。
接下来,密钥的配置是重点,70% 的支付无法成功的原因,均是密钥设置问题。
关于密钥如何生成与配置,请看
支付宝官方密钥生成与配置教程
ali_public_key注意看这张图的红线部分,只要上传自己应用的公钥后,可用点这里,查看支付宝公钥,可获取到支付宝的公钥。
这里一定要记得是 支付宝的公钥,不是你自己本地生成的,而是在开发平台中上传自己的公钥后,拿到的支付宝公钥。
接下来就是这个配置该如何填写了。这里支持文件的方式,你可以将支付宝公钥复制到一个单独的文件,然后这个字段填写对应文件的路径。例如:
'ali_public_key' => dirname(__FILE__) . DIRECTORY_SEPARATOR . 'alipay_public_key_rsa.pem'
你也可用直接将支付宝公钥的值,填入这里,例如:
'ali_public_key' => 'MIIBIjANBgkqhkiG9w0BAQEFAAOO1BU3GYXkAaumdWQt7f+khoFoSw+x8yqQIDAQAB',
这里为了文章排版美观,有删减部分支付宝公钥内容
无论那种方式,强烈建议在填入时,去掉:
—–BEGIN PUBLIC KEY—–
以及 —–END PUBLIC KEY—– 只保留中间部分的内容。
rsa_private_key商户私钥的设置,按照上面发的教程进行操作,然后把获取到的值,复制出来。跟支付宝公钥一样,也可以单独放在一个文件里,然后引用他的路径,或者直接将它的值,设置在这个字段上。
请记得只保留密钥内容部分。
这里请一定分清楚 私钥,是商户自己生成的。 公钥,是支付宝开发平台看到的
limit_pay在让用户使用支付宝支付过程中,可能想禁止用户使用某些渠道,比如:不准使用 信用卡支付 不准使用 花呗支付。都可以在这里进行配置。详细的可取值,请看图片
官方链接
notify_url异步通知。当支付宝支付成功后,你想要在服务端收到支付宝支付成功的通知,就必须设置该选项。应该是:http/https 开头的url。
这里强烈建议以支付宝服务器的通知为依据来判断是否支付成功。关于异步通知的处理,在后面的文章将有专题讲解。
return_url当前主要是即时到账、手机网站支付两个接口会用到,在支付成功后,跳转到哪一个链接。也必须是以 HTTP/HTTPS 开头的url。可以理解为同步通知,但请不要以它的结果为准。为了安全还是应该以异步为准。
return_raw之前的版本都没有该参数,是3.0新加入的,它的主要目的是让调用者控制自己拿到什么样的数据。如果设置为true。SDK 则只会向支付宝发出请求,收到数据后进行验签,通过后,会以数组的形式将所有支付宝返回的数据返回给客户端。
如果设置为false ,则会抛弃支付宝的某些字段。并且会对某些字段名称进行重新映射,这种方式带来的好处是,可用确保支付宝、微信返回的数据是基本一致的,但是可能导致调用者损失部分信息。这里大家根据实际情况进行衡量。
至此,支付宝的配置全部讲解完毕。 去看看如何完成即时到账吧
如果你有不清楚的或者愿意交流的地方,请联系我:
邮箱:dayugog@gmail.com
如果你觉得这个项目有帮助到你,请打赏我,让我有动力持续下去左边微信,右边支付宝:
ps: 一般性的问题请大家可以先查资料,如果实在无法解决找我吧(不免费服务)。
相关文章推荐
- PhpCms系统设置:config.inc.php文件配置说明_PHPCms教程
- Payment:微信支付配置文件设置说明
- Payment:支付宝手机网站支付教程
- 微信支付开发文件WxPay.Config.php配置详解-公众号支付开发-视频教程4
- PL/SQL 设置登陆数据库的 配置文件 tnsnames.ora(oracle文件)
- lionkid2中的配置设置文件,用于皮肤时
- Firefox 2.0 配置文件中代理服务器设置参数的位置及含义
- java设置ini配置文件
- Vim的行号、语法显示等设置,即.vimrc文件的配置
- Redhat中通过命令工具和配置文件设置TCP/IP参数的方法
- asp.net2.0成员.角色.配置文件设置
- config配置文件中有关identity的设置
- vs2005视频教程 之 用户管理 配置文件 [视频]
- 配置文件中的DataDirectory在那里设置?
- Gentle.Net学习笔记一:配置文件设置
- 使用Ajax.net遇到的问题-使用会话时提示错误"只有在配置文件或 Page 指令中将启用会话状态设置为真时,才可以使用会话状态
- IIS配置管理在线教程设置全攻略
- 在Asp.Net2.0中可以方便的访问配置文件web.config,如判断debug设置,验证类型等。
- 在PDA程序中使用XML文件保存程序配置设置
- CentOS下的网络设置--基本配置文件篇