shantao / taoxiangpay
There is no license information available for the latest version (v0.2.3) of this package.
面向淘象支付接口
v0.2.3
2020-12-15 02:33 UTC
Requires
- php: >=7.2
- guzzlehttp/guzzle: 7.2
Requires (Dev)
- php: >=7.2
- phpunit/phpunit: 7.5.0
This package is not auto-updated.
Last update: 2025-04-01 22:32:58 UTC
README
v0.2.0
名词说明
- 商户token: 每个使用此支付的项目都需要申请一个唯一 token
- 本地单号: 调用方需要生成的唯一支付单号,长度不能少于6位
- 支付渠道单号: 正在使用的支付渠道,例如淘象,生成的唯一单号
- 支付方式单号: 使用的支付方式,例如支付宝或微信官方, 生成的唯一单号,目前只支持支付宝
异常说明
- TaoxiangpayException : 本包中的所有别的异常都继承于此
- UpstreamResponseException : 因上游而触发的异常
- ValidateConfigureException : 用户入参信息校验不通过触发的异常
异常码说明
1: 支付金额应为正整数
2: 本地单号长度必须大于6位
// 因上游http status 非 200 ,抛出的异常
3: 上游不可用
// 上游http status正常,但是上游响应的状态码非0, 一般来说会将上游异常信息附加到本信息之后,形如:[上游响应异常:商户token不合法]
4: 上游响应异常
5: 必传参数缺失
6: 请求参数格式不合法
可用方法
获取支付二维码:
\Taoxiangpay\Taoxiangpay::generateQRcode(array $config)
- 调用示例
<?php
class Demo {
public function first(){
// 传入的参数
$config = [
// 请求付款的金额,单位是分!!! [必传]
'amount' => 1,
// 商户token [必传]
'token' => 'xxx',
// 上游接口地址 [必传]
'url' => 'http://pay.gatheraccount.com/api/merchant/alipay_transfer_apply',
// 本地单号,最少6位长度 [必传]
'order_sn' => '111111',
// 请求上游超时时间 [非必传,默认是15秒]
'timeout' => 5
];
// 返回的响应信息是一个数组:
/**
[
// 可根据此值生成一个支付二维码
'qr_code' => 'xxx',
// 支付渠道单号,即淘象单号
'channel_paid_sn' => 'xxx',
// 一个地址,可根据这个地址去生成一个二维码,然后可以使用手机支付
'url' => 'xxxx'
]
*/
$res = \Taoxiangpay\Taoxiangpay::generateQRcode($config);
}
}
- 获取支付订单信息:
\Taoxiangpay\Taoxiangpay::queryPayInfo(array $config)
- 调用示例
<?php
class Demo {
public function first(){
// 传入的参数
$config = [
// 商户token [必传]
'token' => 'xxx',
// 上游接口地址 [必传]
'url' => 'http://pay.gatheraccount.com/api/terminal/bill_state',
// 本地订单号,最少6位长度 [必传]
'order_sn' => '111111',
// 支付渠道单号 [必传]
'channel_paid_sn' => 'xxxx',
// 请求上游超时时间 [非必传,默认是15秒]
'timeout' => 5
];
// 返回的响应信息是一个数组:
/**
[
// 请求付款的金额,单位是元!!!
'amount' => '20.00',
// 支付渠道单号
'channel_paid_sn' => 'xxx',
// 支付方式单号
'type_paid_sn' => 'xxx',
// 本地单号
'order_sn' => 'xxx',
// 支付时间,示例:2020-09-25 22:00:15
'time' => 'Y-m-d H:i:s',
// 付款人名称
'payer' => 'xxx',
// 实际支付的金额, 单位是元!!!!!
'reality_amount' => '10.00',
// 支付状态,可选值 p/d/e p(待支付) d(已支付) e(支付超时)
'pay_status' => 'p',
]
*/
$res = \Taoxiangpay\Taoxiangpay::queryPayInfo($config);
}
}
- 批量获取订单信息:
\Taoxiangpay\Taoxiangpay::batchQueryPayInfo(array $config)
- 调用示例
<?php
class Demo {
public function first(){
// 传入的参数
$config = [
// 商户token [必传]
'token' => 'xxx',
// 上游接口地址 [必传]
'url' => 'http://pay.gatheraccount.com/api/terminal/bill_state',
// 一个二维数组,每个元素是:本地单号和支付渠道单号组成的数组
'data' => [
[
// 本地订单号,最少6位长度 [必传]
'order_sn' => '111111',
// 支付渠道单号 [必传]
'channel_paid_sn' => 'xxxx',
],
],
// 请求上游超时时间 [非必传,默认是15秒]
'timeout' => 5
];
// 返回的是以本地单号为键,订单信息为值的二维数组:
// 如果请求参数中 data是一个空数组,那么返回的也是一个空数组
/**
[
// 本地单号作为键
'xxx' => [
// 0 表示成功
'code' => 0,
// 提示信息
'msg' => 'ok',
// 支付订单数据
'data' => [
// 请求付款的金额,单位是元!!!
'amount' => '20.00',
// 支付渠道单号
'channel_paid_sn' => 'xxx',
// 支付方式单号
'type_paid_sn' => 'xxx',
// 本地单号
'order_sn' => 'xxx',
// 支付时间,示例:2020-09-25 22:00:15
'time' => 'Y-m-d H:i:s',
// 付款人名称
'payer' => 'xxx',
// 实际支付的金额, 单位是元!!!!!
'reality_amount' => '10.00',
// 支付状态,可选值 p/d/e p(待支付) d(已支付) e(支付超时)
'pay_status' => 'p',
]
],
]
*/
$res = \Taoxiangpay\Taoxiangpay::batchQueryPayInfo($config);
}
}