Payment:支付宝即时到账接口接入教程
记住,如果觉得文档写得不清楚,一定要告诉我。励志写好文档为大家服务!
Payment 3.0
支付宝的配置设置文档请 点击这里
项目GitHub地址:https://github.com/helei112g/payment
支付宝从新版本开始,提供了沙箱方式,方便进行调试。但是,即时到账支付宝没有提供沙箱模式。因此大家在使用过程中,注意设置配置。
我在项目中提供的初始配置也不能用于测试 即时到账接口。
即时到账属于老版本接口。不支持 RSA2 的签名方式,请设置为 RSA 签名方式。
即时到账 主要应用于网站支付。当前也可使用支付宝提供的当面付–扫码支付来完成网站支付的业务。
即时到账接口属于支付宝老版本接口,当前 Payment 依然将其进行了保留。后期会跟随支付宝公告进行调整。
即时到账的权限需要在支付宝商家平台进行签约。
签约地址: https://b.alipay.com/order/productDetail.htm?productId=2015110218012942
即时到账签约后,默认开通以下两个接口的权限:
- 即时到账交易接口(create_direct_pay_by_user)
- 即时到账批量退款有密接口(refund_fastpay_by_platform_pwd)
但是 Payment3.x
并未接入 即时到账批量退款有密接口。大家可以通过 新版退款接口发起退款操作。
退款操作文档,可点击这里(TODO)
先上 即时到账发起支付 需要的参数列表
参数 | 类型 | 是否必须 | 说明 |
---|---|---|---|
body | boolean | 是 | 商品描述 |
subject | string | 是 | 商品名称,该参数最长为128个汉字 |
order_no | string | 是 | 商户网站唯一订单号 |
timeout_express | string | 是 | 设置未付款交易的超时时间,一旦超时,该笔交易就会自动被关闭。 |
amount | float | 是 | 该笔订单的资金总额,单位为RMB-Yuan |
return_param | string | 是 | 公用回传参数 |
qr_mod | string | 否 | 扫码支付方式 |
paymethod | string | 否 | 默认支付方式 |
body
主要是对商品的描述,根据自己的业务写就好,不要用一些非常特殊的字符,支付宝可能会进行一些处理,导致你的结果与预期不一样
subject
可以写一下商品名称信息,主要是方便支付宝后台对账时查看
order_no
自己生成的订单号,每次下单的单号必须唯一。也就是说:同一个 order_no 他的其他下单数据不能发生变化,价格、名称等等。如果有变化,需要重新生成一个订单号。
timeout_express
订单过期时间,很简单,你希望在那一刻过期,就写那个点的时间戳。只会精确到分钟
amount
订单的金额,就是用户实际需要支付的金额。
return_param
希望支付宝异步通知时,原样返回给你的数据,同样注意避免一些特殊字符
qr_mod
这个参数可以不设置,如果没有特殊需求建议不设置,可设置:0 1 2 3 。效果可以自己看看
paymethod
当用户进行支付时,默认使用的付款方式。可选值:creditPay(信用支付)directPay(余额支付)
ok,以上就是需要发起支付的全部参数了。具体到 sdk 如何调用。看代码
use Payment\Common\PayException;
use Payment\Client\Charge;$config = require_once('./aliconfig.php');// 这里我假设大家都已经配置好了。不会的请去看配置设置文档$channel = 'ali_web';
$payData = ['body' => '一个苹果','subject' => '牛逼公司--付款吧','order_no' => 'NB12312355','timeout_express' => '1489241888','amount' => '100','return_param' => 'buy some',//'qr_mod' => '', // 这个参数建议默认就好,不设置'paymethod' => 'creditPay',
];try {$payUrl = Charge::run($channel, $config, $payData);
} catch (PayException $e) {// 异常处理exit;
}echo htmlspecialchars($payUrl);
返回值 $payUrl
是跳转向支付宝支付的一个连接。访问该连接即可跳转到支付宝。
即时到账的代码就全部完成了。
接下来说下重点,请仔细往下看。
这里需要注意的一个点: htmlspecialchars() 函数在正式环境上,如果时进行url的跳转操作,请不要用它进行转义。我这里使用它是为了方便输出到页面上。因为 ¬ 是一个特殊符号,如果不转移,在网页上无法正常显示。
Payment
的设计思路是将配置文件与下单数据进行了分离。配置文件一般来讲是静态的,不会经常变更,并且大家都会用到。而下单的订单数据则不同,每一个支付接口需要的下单数据不同,并且根据业务,其对应的值也不稳定,常常发生变化。
其次,还有一个 $channel
参数,这个简单来讲,就是用来标记,你现在想要使用那种接口。可以取的参数如下:
channel可取值
名称 | 含义 |
---|---|
ali_web | 即时到账 |
ali_app | app支付(移动支付) |
ali_wap | H5支付(手机网站支付、wap支付) |
ali_qr | 当面付中的扫码支付 |
ali_bar | 当面付中的条码支付 |
如果你有不清楚的或者愿意交流的地方,请联系我:
邮箱:dayugog@gmail.com
如果你觉得这个项目有帮助到你,请打赏我,让我有动力持续下去左边微信,右边支付宝:
ps: 一般性的问题请大家可以先查资料,如果实在无法解决找我吧(不免费服务)。
Payment:支付宝即时到账接口接入教程相关推荐
- 支付宝即时到账接口开发 - DEMO讲解
支付宝即时到账接口开发 - DEMO讲解 环境要求 PHP5.0以上,且需要开启curl.openssl. 文档地址: https://doc.open.alipay.com/doc2/detail? ...
- 支付宝即时到账接口使用历险记
闲来无事,找来支付宝即时到账接口用了下.遇到一些事情,现在想回放下,看遍电影. 如上图所示,支付宝官方给的使用流程,前3步客户做好自不必说,在第4.5步遇到一些问题: 1.支付宝跳转页面同步通知(re ...
- java支付宝即时到账api_集成支付宝即时到账接口
签约授权 即时到账接口需要商家签约后才有使用的权限. 商家签约后拥有 即时到账交易接口(create_direct_pay_by_user) 即时到账批量退款有密接口(refund_fastpay_b ...
- ThinkPHP 3.2 支付宝即时到账接口开发
前言: 一.支付流程 构造请求参数 向支付宝网关发送请求 生成支付宝页面 支付宝交易结果 二.构建支付类 1.官方即时到账文档地址: https://doc.open.alipay.com/doc2/ ...
- 支付宝 java 乱码_支付宝即时到账接口中文乱码问题
遇见乱码的情况一般都是粗心大意造成的,就像我今天对接支付宝支付接口碰到的中文商品名称在支付宝收银台乱码了,找了半天问题原来是控制层没有设置响应编码造成的. //设置返回字符编码,设置返回内容类型防止中 ...
- 支付宝手机网页支付即时到账接口
mycncart的前后台均为移动设备方便访问,支付宝方面单独针对移动设备访问网站设立了支付接口,普通的支付宝即时到账接口无法在手机网页上正常支付 本支付插件是支付宝手机网页即时到账接口. 本插件需要解 ...
- 搞定支付接口(一) 支付宝即时到账支付接口详细流程和代码
搞定支付接口(一) 支付宝即时到账支付接口详细流程和java代码 为避免你们和我一样被支付接口搞得焦头烂额,写一个从申请开始到能收到钱为止的详细教程,实际上各个语言都可以用来集成支付接口,我用java ...
- PHP支付宝免签约即时到账接口扫码支付实例
PHP支付宝免签约即时到账接口扫码支付实例,比较简单实用,下面有教程 安装教程: 1.把\pay_files\4422875341317181.png换成你自己的二维码. 2.把pay.htm文件里 ...
- 支付宝手机网页即时到账接口(3)之交易接口请求
前言 这篇文章主要讲诉系统调用支付宝手机网页即时到账交易接口跳转到支付宝收银台. 上篇文章地址:支付宝手机网页即时到账接口(2)之授权接口请求. 这是第一篇文章结尾调用交易接口的图解. 交易接口请求参 ...
最新文章
- java 修改 request参数值,如何在HttpServletRequest中设置参数?
- 微软 AI 设计原则:成为弱者,再带来惊喜
- 如何保存Tensorflow中的Tensor参数,保存训练中的中间参数,存储卷积层的数据
- mysql批量更新查询结果_数据库批量查询结果作为更新的值
- 【AWSL】之LVM与磁盘配额(PV、VG、LV、mkfs)
- 笔记41 Spring Web Flow——Demo
- 华为多臂路由_[分享]华为 AR路由 策略路由 多WAN环境下指定出口 | 霸王硬上弓's Blog...
- php opendir(),PHP opendir()用法及代码示例
- 网络基础之冲突域和广播域
- 位置式与增量式PID代码(C语言实现)
- 『团队协作的五大障碍』读书所得
- 响应式网页设计与应用
- 【爱吃肉的阿C】使用URL类将文件下载到本地
- codevs 2977 二叉堆练习1x
- VIDEO GOOGLE
- 阿里研究院院长高红冰:如何测量数字经济的小美与大好
- python正常血压最长小时数_一套完整的机器学习的操作步骤:XGBoost实例-从血压,年龄等因子判断是否肾不好-Python...
- MFC CPropertySheet控件
- ​【原创】基于SSM的学院排课管理系统(排课管理系统毕业设计源代码)
- 【拿来就用】20款婚礼婚庆网站模板, 轻松打造幸福满满的网站设计