Payment:接入支付宝当面付(扫码支付与条码支付)教程

来源:互联网 发布:彩票数据分析软件开发 编辑:程序博客网 时间:2024/04/28 18:32

越写越觉得支付类的文档写这么细,会不会反而让大家觉得很复杂呀?其实都是同样的调用方式

这一篇,将把支付宝剩下的扫码支付与条码支付全部写清楚。

Payment 3.0 支付宝的配置设置文档请 点击这里

项目GitHub地址:https://github.com/helei112g/payment

支付宝的当面付,包括扫码支付与条码支付。
- 扫码支付,是消费者用手机去扫商家生成的二维码。个人觉得也可以将这个功能用在pc支付上。取代即时到账接口。
- 条码支付,商家用扫码枪读取用户支付宝上的条码。对应微信的刷卡支付。该项广泛用在超市结账时。

参数 类型 是否必须 说明 body boolean 是 商品描述 subject string 是 商品名称,该参数最长为128个汉字 order_no string 是 商户网站唯一订单号 timeout_express string 是 设置未付款交易的超时时间,一旦超时,该笔交易就会自动被关闭。 amount float 是 该笔订单的资金总额,单位为RMB-Yuan store_id string 否 商户门店编号 operator_id string 否 商户操作员编号 terminal_id string 否 商户机具终端编号 alipay_store_id string 否 支付宝店铺的门店ID scene string 是 条码支付时,必须设置 auth_code string 是 条码支付时,必须设置

body 主要是对商品的描述,根据自己的业务写就好,不过不要用一些非常特殊的字符,支付宝可能会进行一些处理,导致你的结果与预期不一样

subject 可以写一下商品名称信息,主要是方便支付宝后台对账时查看

order_no 自己生成的订单号,每次下单的单号必须唯一。也就是说:同一个 order_no 他的其他下单数据不能发生变化,价格、名称等等。如果有变化,需要重新生成一个订单号。

timeout_express 订单过期时间,很简单,你希望在那一刻过期,就写那个点的时间戳。只会精确到分钟

amount 订单的金额,就是用户实际需要支付的金额。

store_id 门店编号,这部分数据主要是支付宝为了将业务深化到线下而提供的,如果用不到,不设置就好。

operator_id 商户操作员编号,可以不设置。

terminal_id 商户机具终端编号,可以不设置。

alipay_store_id 支付宝店铺的门店ID,没有的话,也可以不设置。

scene 条码支付,必须设置该选项,条码支付,取值:bar_code 声波支付,取值:wave_code

auth_code 条码支付必须设置。

在上面的参数中,除了特别说明的,其它部分,扫码支付与条码支付都需要。

代码调用。

use Payment\Common\PayException;use Payment\Client\Charge;$config = require_once('./aliconfig.php');// 支付宝的配置信息$channel = 'ali_qr';// ali_bar$payData = [    'body' => '一个苹果',    'subject' => '牛逼公司--付款吧',    'order_no' => 'NB12312355',    'timeout_express' => '1489241888',    'amount' => '100',    'return_param' => 'buy some',    'goods_type' => 1,// 默认值为1,因此也可以省略    'store_id' => '',// 没有就不设置];try {    $str = Charge::run($channel, $config, $payData);} catch (PayException $e) {    // 异常处理    exit;}echo htmlspecialchars($str);

如果使用的扫码支付, $channel = 'ali_qr'

则返回一个url。大家可以通过将返回的字符串生成一个二维码。即可进行扫码支付。

另外请记得,如果使用的沙箱请使用对应的沙箱支付宝来扫码。关于沙箱的介绍。看这里

如果使用的条码支付, $channel = 'ali_bar'

必须设置以下两个字段
- scene 支付场景 条码支付,取值:bar_code 声波支付,取值:wave_code
- auth_code 支付授权码,也就是用户手机条码对应的值。

这个接口测试时,大家可以手动把条码的值,输入进去

ok!支付宝支付类的接口基本就讲完了。接下来将开始讲解微信支付的接口。使用起来都一样,不一样的仅仅是参数部分。还是安排将微信支付的配置开一篇单独的文章进行讲解。


如果你有不清楚的或者愿意交流的地方,请联系我:

邮箱:dayugog@gmail.com

如果你觉得这个项目有帮助到你,请打赏我,让我有动力持续下去左边微信,右边支付宝:

image

ps: 一般性的问题请大家可以先查资料,如果实在无法解决找我吧(不免费服务)。

0 0
原创粉丝点击