依星源码资源网,依星资源网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

【好消息,好消息,好消息】VIP会员可以发表文章赚积分啦 !
查看: 97|回复: 0

一个php版本的支付聚合第三方sdk,集成了微信支付、支付宝支付、招商一网通支付。提供统一的调用接口,方便快速接入各种支付、查询、退款、转账能力

[复制链接] 主动推送

1万

主题

1万

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
15308
发表于 2025-4-6 11:29:48 | 显示全部楼层 |阅读模式

一个php版本的支付聚合第三方sdk,集成了微信支付、支付宝支付、招商一网通支付。提供统一的调用接口,方便快速接入各种支付、查询、退款、转账能力
如何使用安装
当前项目仅支持 PHP version > 7.0 的版本,并且仅支持通过 composer 进行安装。
需要 PHP 安装以下扩展:

  1. - ext-curl
  2. - ext-mbstring
  3. - ext-bcmath
  4. - package-Guzzle
复制代码
composer安装方式:
直接在命令行下安装:
  1. composer require "riverslei/payment:*"
复制代码
通过项目配置文件方式安装:
  1. "require": {
  2.     "riverslei/payment": "*"
  3. }
复制代码
项目集成
按照上面的步骤完成安装后,即可在项目中使用。
对于整个过程,提供了唯一的入口类 \Payment\Client,每一个渠道,均只介绍 APP支付 与 异步/同步通知 该如何接入。会重点说明每个请求支持的参数。
APP支付demo
  1. $config = [
  2.     // 配置信息,各个渠道的配置模板见对应子目录
  3. ];

  4. // 请求参数,完整参数见具体表格
  5. $payData = [
  6.     'body'         => 'test body',
  7.     'subject'      => 'test subject',
  8.     'trade_no'     => 'trade no',// 自己实现生成
  9.     'time_expire'  => time() + 600, // 表示必须 600s 内付款
  10.     'amount'       => '5.52', // 微信沙箱模式,需要金额固定为3.01
  11.     'return_param' => '123',
  12.     'client_ip'    => isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '127.0.0.1', // 客户地址
  13. ];``

  14. // 使用
  15. try {
  16.     $client = new \Payment\Client(\Payment\Client::WECHAT, $wxConfig);
  17.     $res    = $client->pay(\Payment\Client::WX_CHANNEL_APP, $payData);
  18. } catch (InvalidArgumentException $e) {
  19.     echo $e->getMessage();
  20.     exit;
  21. } catch (\Payment\Exceptions\GatewayException $e) {
  22.     echo $e->getMessage();
  23.     var_dump($e->getRaw());
  24.     exit;
  25. } catch (\Payment\Exceptions\ClassNotFoundException $e) {
  26.     echo $e->getMessage();
  27.     exit;
  28. } catch (Exception $e) {
  29.     echo $e->getMessage();
  30.     exit;
  31. }
复制代码
异步/同步通知
  1. // 自己实现一个类,继承该接口
  2. class TestNotify implements \Payment\Contracts\IPayNotify
  3. {
  4.     /**
  5.      * 处理自己的业务逻辑,如更新交易状态、保存通知数据等等
  6.      * @param string $channel 通知的渠道,如:支付宝、微信、招商
  7.      * @param string $notifyType 通知的类型,如:支付、退款
  8.      * @param string $notifyWay 通知的方式,如:异步 async,同步 sync
  9.      * @param array $notifyData 通知的数据
  10.      * @return bool
  11.      */
  12.     public function handle(
  13.         string $channel,
  14.         string $notifyType,
  15.         string $notifyWay,
  16.         array $notifyData
  17.     ) {
  18.         //var_dump($channel, $notifyType, $notifyWay, $notifyData);exit;
  19.         return true;
  20.     }
  21. }

  22. $config = [
  23.     // 配置信息,各个渠道的配置模板见对应子目录
  24. ];

  25. // 实例化继承了接口的类
  26. $callback = new TestNotify();

  27. try {
  28.     $client = new \Payment\Client(\Payment\Client::ALIPAY, $config);
  29.     $xml = $client->notify($callback);
  30. } catch (InvalidArgumentException $e) {
  31.     echo $e->getMessage();
  32.     exit;
  33. } catch (\Payment\Exceptions\GatewayException $e) {
  34.     echo $e->getMessage();
  35.     exit;
  36. } catch (\Payment\Exceptions\ClassNotFoundException $e) {
  37.     echo $e->getMessage();
  38.     exit;
  39. } catch (Exception $e) {
  40.      echo $e->getMessage();
  41.      exit;
  42. }
复制代码
从上面的例子简单总结下,所有的支持的能力,通过 \Payment\Client 对外暴露方法;所有需要的常量也在这个类中进行了定义。其次需要一个 $config,关于config的模板,在每个渠道下面去看。最后一个传入请求的参数,完整的参数会在每个渠道中列出来,需要说明的是这些参数名字根据第三方文档部分进行了改写。在使用的时候请注意。
参数选项说明:
  • Y: 必须
  • N: 非必须
支付宝
配置文件模板
  1. $config = [
  2.     'use_sandbox' => true, // 是否使用沙盒模式

  3.     'app_id'    => '2016073100130857',
  4.     'sign_type' => 'RSA2', // RSA  RSA2


  5.     // 支付宝公钥字符串
  6.     'ali_public_key' => '',

  7.     // 自己生成的密钥字符串
  8.     'rsa_private_key' => '',

  9.     'limit_pay' => [
  10.         //'balance',// 余额
  11.         //'moneyFund',// 余额宝
  12.         //'debitCardExpress',//         借记卡快捷
  13.         //'creditCard',//信用卡
  14.         //'creditCardExpress',// 信用卡快捷
  15.         //'creditCardCartoon',//信用卡卡通
  16.         //'credit_group',// 信用支付类型(包含信用卡卡通、信用卡快捷、花呗、花呗分期)
  17.     ], // 用户不可用指定渠道支付当有多个渠道时用“,”分隔

  18.     // 与业务相关参数
  19.     'notify_url' => 'https://dayutalk.cn/notify/ali',
  20.     'return_url' => 'https://dayutalk.cn',
  21. ];

复制代码
APP支付请求参数
对应channel: \Payment\Client::ALI_CHANNEL_APP
[td]
字段解释必须
amount订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]Y
goods_type商品主类型 :0-虚拟类商品,1-实物类商品Y
body对一笔交易的具体描述信息。如果是多种商品,请将商品描述字符串累加传给body。Y
subject商品的标题/交易标题/订单标题/订单关键字等。Y
product_code销售产品码,商家和支付宝签约的产品码N
trade_no商户网站唯一订单号N
promo_params优惠参数 注:仅与支付宝协商后可用N
return_params公用回传参数,如果请求时传递了该参数,则返回给商户时会回传该参数。N
extend_params业务扩展参数N
store_id商户门店编号N
ext_user_info外部指定买家N
business_params商户传入业务信息,具体值要和支付宝约定,应用于安全,营销等参数直传场景,格式为json格式N
time_expire该笔订单允许的最晚付款时间,逾期将关闭交易。时间戳N
条码支付请求参数
对应channel: \Payment\Client::ALI_CHANNEL_BAR
[td]
字段解释必须
trade_no商户订单号,64个字符以内、可包含字母、数字、下划线;需保证在商户端不重复Y
auth_code支付授权码,25~30开头的长度为16~24位的数字,实际字符串长度以开发者获取的付款码长度为准Y
amount订单总金额,单位为元Y
subject订单标题Y
body订单描述Y
scene支付场景 条码支付,取值:bar_code(默认);声波支付,取值:wave_codeN
product_code销售产品码N
buyer_id买家的支付宝用户 id,如果为空,会从传入的码值信息中获取买家 IDN
seller_id如果该值为空,则默认为商户签约账号对应的支付宝用户IDN
settle_currency商户指定的结算币种,默认:CNYN
discountable_amount参与优惠计算的金额,单位为元N
goods_detail订单包含的商品列表信息,json格式,其它说明详见商品明细说明N
operator_id商户操作员编号N
store_id商户门店编号N
terminal_id商户机具终端编号N
extend_params业务扩展参数N
time_expire该笔订单允许的最晚付款时间,逾期将关闭交易N
auth_confirm_mode预授权确认模式,授权转交易请求中传入,适用于预授权转交易业务使用,目前只支持PRE_AUTH(预授权产品码)N
terminal_params商户传入终端设备相关信息,具体值要和支付宝约定N
promo_params优惠明细参数,通过此属性补充营销参数N
advance_payment_type支付模式类型,若值为ENJOY_PAY_V2表示当前交易允许走先享后付2.0垫资N
查询对账单请求参数[td]
字段解释必须
bill_type账单类型,默认是 tradeN
bill_date账单时间:日账单格式为yyyy-MM-ddY
扫码支付请求参数
对应channel: \Payment\Client::ALI_CHANNEL_QR
[td]
字段解释必须
trade_no商户订单号,64个字符以内、可包含字母、数字、下划线;需保证在商户端不重复Y
seller_id如果该值为空,则默认为商户签约账号对应的支付宝用户IDN
amount订单总金额,单位为元Y
discountable_amount参与优惠计算的金额,单位为元N
subject订单标题Y
goods_detail订单包含的商品列表信息,json格式,其它说明详见商品明细说明N
body订单描述Y
operator_id商户操作员编号N
store_id商户门店编号N
terminal_id商户机具终端编号N
extend_params业务扩展参数N
time_expire该笔订单允许的最晚付款时间,逾期将关闭交易N
settle_info描述结算信息,json格式,详见结算参数说明N
merchant_order_no商户原始订单号,最大长度限制32位N
business_params商户传入业务信息,具体值要和支付宝约定,应用于安全,营销等参数直传场景,格式为json格式N
手机网站支付请求参数
对应channel: \Payment\Client::ALI_CHANNEL_WAP
[td]
字段解释必须
body对一笔交易的具体描述信息。如果是多种商品,请将商品描述字符串累加传给body。Y
subject商品的标题/交易标题/订单标题/订单关键字等。Y
trade_no商户网站唯一订单号Y
time_expire该笔订单允许的最晚付款时间,逾期将关闭交易,时间戳N
amount订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]N
auth_token针对用户授权接口,获取用户相关数据时,用于标识用户授权关系注:若不属于支付宝业务经理提供签约服务的商户,暂不对外提供该功能,该参数使用无效N
goods_type商品主类型:0—虚拟类商品,1—实物类商品Y
return_params公用回传参数,如果请求时传递了该参数,则返回给商户时会回传该参数N
quit_url添加该参数后在h5支付收银台会出现返回按钮,可用于用户付款中途退出并返回到该参数指定的商户网站地址。N
promo_params优惠参数注:仅与支付宝协商后可用N
extend_params业务扩展参数,详见下表的“业务扩展参数说明”N
store_id商户门店编号N
specified_channel指定渠道,目前仅支持传入pcredit若由于用户原因渠道不可用,用户可选择是否用其他渠道支付。N
business_params商户传入业务信息,具体值要和支付宝约定,应用于安全,营销等参数直传场景,格式为json格式N
ext_user_info外部指定买家N
电脑网站支付请求参数
对应channel: \Payment\Client::ALI_CHANNEL_WEB
[td]
字段解释必须
trade_no商户网站唯一订单号Y
amount订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]N
body对一笔交易的具体描述信息。如果是多种商品,请将商品描述字符串累加传给body。Y
subject商品的标题/交易标题/订单标题/订单关键字等。Y
time_expire该笔订单允许的最晚付款时间,逾期将关闭交易,时间戳N
goods_detail
return_params公用回传参数,如果请求时传递了该参数,则返回给商户时会回传该参数N
extend_params业务扩展参数,详见下表的“业务扩展参数说明”N
goods_type商品主类型:0—虚拟类商品,1—实物类商品Y
promo_params优惠参数注:仅与支付宝协商后可用N
royalty_info描述分账信息,json格式,详见分账参数说明N
sub_merchant间连受理商户信息体,当前只对特殊银行机构特定场景下使用此字段N
store_id商户门店编号N
qr_pay_modePC扫码支付的方式,支持前置模式和,默认是2N
qrcode_width商户自定义二维码宽度N
settle_info描述结算信息,json格式,详见结算参数说明N
invoice_info开票信息N
agreement_sign_params签约参数,支付后签约场景使用N
integration_type请求后页面的集成方式N
request_from_url请求来源地址。如果使用ALIAPP的集成方式,用户中途取消支付会返回该地址。N
business_params商户传入业务信息,具体值要和支付宝约定,应用于安全,营销等参数直传场景,格式为json格式N
ext_user_info外部指定买家N
交易查询请求参数[td]
字段解释必须
trade_no订单支付时传入的商户订单号,和支付宝交易号不能同时为空。trade_no,transaction_id如果同时存在优先取transaction_idY
transaction_id支付宝交易号,和商户订单号不能同时为空Y
query_options查询选项,商户通过上送该字段来定制查询返回信息N
org_pid银行间联模式下有用,其它场景请不要使用N
退款请求参数[td]
字段解释必须
trade_no订单支付时传入的商户订单号,和支付宝交易号不能同时为空。trade_no,transaction_id如果同时存在优先取transaction_idY
transaction_id支付宝交易号,和商户订单号不能同时为空Y
refund_fee需要退款的金额,该金额不能大于订单金额,单位为元,支持两位小数Y
refund_currency订单退款币种信息,默认 CNYN
reason退款的原因说明N
refund_no标识一次退款请求,同一笔交易多次退款需要保证唯一,如需部分退款,则此参数必传。Y
operator_id商户的操作员编号N
store_id商户的门店编号N
terminal_id商户的终端编号N
goods_detail退款包含的商品列表信息,Json格式。其它说明详见:“商品明细说明”N
refund_royalty_parameters退分账明细信息N
org_pid银行间联模式下有用,其它场景请不要使用N
退款查询请求参数[td]
字段解释必须
trade_no订单支付时传入的商户订单号,和支付宝交易号不能同时为空。trade_no,transaction_id如果同时存在优先取transaction_idY
transaction_id支付宝交易号,和商户订单号不能同时为空Y
refund_no请求退款接口时,传入的退款请求号,如果在退款请求时未传入,则该值为创建交易时的外部交易号Y
org_pid银行间联模式下有用,其它场景请不要使用N
关闭交易请求参数[td]
字段解释必须
trade_no订单支付时传入的商户订单号,和支付宝交易号不能同时为空Y
transaction_id该交易在支付宝系统中的交易流水号。最短 16 位,最长 64 位。和transaction_id不能同时为空,如果同时传了 transaction_id和 trade_no,则以 transaction_id为准Y
operator_id卖家端自定义的的操作员 IDN
取消交易请求参数[td]
字段解释必须
trade_no订单支付时传入的商户订单号,和支付宝交易号不能同时为空Y
transaction_id该交易在支付宝系统中的交易流水号。最短 16 位,最长 64 位。和transaction_id不能同时为空,如果同时传了 transaction_id和 trade_no,则以 transaction_id为准Y
这个接口与 关闭交易 测试了一下,效果是一样的。具体场景不太清楚,但是官方文档描述是在当面付的时候使用
转账到支付宝请求参数[td]
字段解释必须
trans_no商户转账唯一订单号Y
payee_type收款方账户类型。默认:ALIPAY_LOGONID 详见Y
payee_account收款方账户。与payee_type配合使用Y
amount转账金额,单位:元。Y
payer_show_name付款方姓名N
payee_real_name收款方真实姓名N
remark转账备注N
查询转账到支付宝请求参数[td]
字段解释必须
trans_no商户转账唯一订单号Y
transaction_id支付宝转账单据号:和商户转账唯一订单号不能同时为空。当和商户转账唯一订单号同时提供时,将用本参数进行查询,忽略商户转账唯一订单号。Y
微信
对于每一个微信支持的能力,并不是所有参数都支持了,有些参数绝大多数场景并不需要用到。如果确实需要请自行对源码进行修改。
配置文件模板

  1. $config = [
  2.     'use_sandbox' => false, // 是否使用 微信支付仿真测试系统

  3.     'app_id'       => 'wxxxxxxxx',  // 公众账号ID
  4.     'sub_appid'    => 'wxxxxxxxx',  // 公众子商户账号ID
  5.     'mch_id'       => '123123123', // 商户id
  6.     'sub_mch_id'   => '123123123', // 子商户id
  7.     'md5_key'      => '23423423dsaddasdas', // md5 秘钥
  8.     'app_cert_pem' => 'apiclient_cert.pem',
  9.     'app_key_pem'  => 'apiclient_key.pem',
  10.     'sign_type'    => 'MD5', // MD5  HMAC-SHA256
  11.     'limit_pay'    => [
  12.         //'no_credit',
  13.     ], // 指定不能使用信用卡支付   不传入,则均可使用
  14.     'fee_type' => 'CNY', // 货币类型  当前仅支持该字段

  15.     'notify_url' => 'https://dayutalk.cn/v1/notify/wx',

  16.     'redirect_url' => 'https://dayutalk.cn/', // 如果是h5支付,可以设置该值,返回到指定页面
  17. ];
复制代码
支付请求参数
对应channel: \Payment\Client::WX_CHANNEL_APP、WX_CHANNEL_BAR、WX_CHANNEL_LITE、WX_CHANNEL_PUB、WX_CHANNEL_QR、WX_CHANNEL_WAP
[td]
字段解释必须
subject商品简单描述,该字段须严格按照规范传递,具体请见参数规定Y
body单品优惠字段(暂未上线)Y
trade_no商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号Y
amount订单总金额,单位为元Y
client_ip必须传正确的用户端IP,支持ipv4、ipv6格式,获取方式详见获取用户ip指引Y
device_info终端设备号(门店号或收银设备ID),注意:PC网页或公众号内支付请传"WEB"N
return_param附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据N
time_expire订单失效时间,时间戳N
goods_tag商品标记,代金券或立减优惠功能的参数,说明详见代金券或立减优惠N
scene_info该字段用于上报支付的场景信息,具体见微信文档N
使用时,自行使用上面的字段构建好一个数组,并传入到 \Payment\Client 实例对应的方法中。后面均是相同,不在重复。
账单请求参数[td]
字段解释必须
bill_date对账单日期Y
bill_typeALL(默认值),返回当日所有订单信息(不含充值退款订单)SUCCESS,返回当日成功支付的订单(不含充值退款订单)REFUND,返回当日退款订单(不含充值退款订单) RECHARGE_REFUND,返回当日充值退款订单N
关闭交易请求参数[td]
字段解释必须
trade_no商户系统内部订单号,要求32个字符内,且在同一个商户号下唯一。Y
撤销交易请求参数[td]
字段解释必须
trade_no商户系统内部的订单号,transaction_id、trade_no二选一,如果同时存在优先级:transaction_id> trade_noY
transaction_id微信的订单号,优先使用Y
退款请求参数[td]
字段解释必须
transaction_id微信生成的订单号,在支付通知中有返回Y
trade_no商户系统内部订单号,要求32个字符内,且在同一个商户号下唯一。transaction_id、trade_no二选一,如果同时存在优先级:transaction_id> trade_noY
refund_no商户系统内部的退款单号,商户系统内部唯一 ,同一退款单号多次请求只退一笔。Y
total_fee订单总金额,单位为元Y
refund_fee退款总金额,订单总金额,单位为元Y
refund_desc若商户传入,会在下发给用户的退款消息中体现退款原因N
refund_account仅针对老资金流商户使用N
退款查询请求参数[td]
字段解释必须
transaction_id微信订单号查询的优先级是: refund_id > refund_no > transaction_id > trade_noY
trade_no商户系统内部订单号,要求32个字符内 ,且在同一个商户号下唯一。Y
refund_no商户系统内部的退款单号,商户系统内部唯一,同一退款单号多次请求只退一笔。Y
refund_id微信生成的退款单号,在申请退款接口有返回Y
offset偏移量,当部分退款次数超过10次时可使用,表示返回的查询结果从这个偏移量开始取记录N
资金账单请求参数[td]
字段解释必须
bill_date下载对账单的日期,格式:20140603Y
bill_type账单的资金来源账户:Basic 基本账户 Operation 运营账户 Fees 手续费账户Y
交易查询请求参数[td]
字段解释必须
transaction_id微信的订单号,建议优先使用Y
trade_no商户系统内部订单号,要求32个字符内 ,且在同一个商户号下唯一Y
付款到零钱请求参数[td]
字段解释必须
channel付款的渠道 bank:付款到银行;account:付款到账号Y
device_info微信支付分配的终端设备号N
trans_no商户订单号,需保持唯一性(只能是字母或者数字,不能包含有其它字符)Y
openid商户appid下,某用户的openidY
check_nameNO_CHECK:不校验真实姓名;FORCE_CHECK:强校验真实姓名Y
re_user_name收款用户真实姓名。如果check_name设置为FORCE_CHECK,则必填用户真实姓名Y
amount企业付款金额,单位为元Y
desc企业付款备注,必填。注意:备注中的敏感词会被转成字符*Y
client_ip该IP同在商户平台设置的IP白名单中的IP没有关联,该IP可传用户端或者服务端的IP。Y
付款到银行请求参数[td]
字段解释必须
channel付款的渠道 bank:付款到银行;account:付款到账号Y
trans_no商户订单号,需保持唯一性(只能是字母或者数字,不能包含有其它字符)Y
enc_bank_no收款方银行卡号(采用标准RSA算法,公钥由微信侧提供),详见获取RSA加密公钥APIY
enc_true_name收款方用户名(采用标准RSA算法,公钥由微信侧提供)Y
bank_code银行卡所在开户行编号,详见银行编号列表Y
amount企业付款金额,单位为元Y
desc企业付款到银行卡付款说明,即订单备注N
付款到零钱/银行查询请求参数[td]
字段解释必须
trans_no商户订单号,需保持唯一(只允许数字[0~9]或字母[A~Z]和[a~z]最短8位,最长32位)Y
招商银行
配置文件模板
$config = [    'use_sandbox' => true, // 是否使用 招商测试系统    'branch_no' => 'xxx',  // 商户分行号,4位数字    'mch_id'    => 'xxxx', // 商户号,6位数字    'mer_key'   => 'xxxxxx', // 秘钥16位,包含大小写字母 数字    // 招商的公钥,建议每天凌晨2:15发起查询招行公钥请求更新公钥。    'cmb_pub_key' => 'xxxxx',    'op_pwd'    => 'xxxxx', // 操作员登录密码。    'sign_type' => 'SHA-256', // 签名算法,固定为“SHA-256”    'limit_pay' => 'A', // 允许支付的卡类型,默认对支付卡种不做限制,储蓄卡和信用卡均可支付   A:储蓄卡支付,即禁止信用卡支付    'notify_url' => 'https://dayutalk.cn/notify/cmb', // 支付成功的回调    'sign_notify_url' => 'https://dayutalk.cn/notify/cmb', // 成功签约结果通知地址    'sign_return_url' => 'https://dayutalk.cn', // 成功签约结果通知地址    'return_url' => 'https://dayutalk.cn', // 如果是h5支付,可以设置该值,返回到指定页面];

支付请求参数[td]
字段解释必须
date订单的日期,时间戳Y
trade_no订单号,6-32位的数字和字母组合,由商户生成Y
amount格式:xxxx.xx 固定两位小数,最大11位整数Y
time_expire过期时候的时间戳Y
return_param发送成功支付结果通知时,将原样返回商户N
body显示在PC端扫码支付页面,pc支付才需要该参数N
client_ip商户取得的客户IP,如果有多个IP用逗号”,”分隔。N
sub_mch_id当前订单为商户的二级商户的订单时需要传送N
sub_mch_name当前订单为商户的二级商户的订单时需要传送N
sub_mch_tp_code当前订单为商户的二级商户的订单时需要传送;必须为数字或字母N
sub_mch_tp_name当前订单为商户的二级商户的订单时需要传送N
mode_type默认不设限制,允许微信支付。N
agr_no客户协议号N
merchant_serial_no协议开通请求流水号,开通协议时必填。N
user_id用于标识商户用户的唯一IDN
mobile手机号码N
lon经度N
lat纬度N
risk_level用户在商户系统内风险等级标识N
查询公钥请求参数
不需要参数,直接条用即可
退款请求参数[td]
字段解释必须
date商户订单日期,支付时的订单日期 格式:yyyyMMddY
trade_no商户订单号,支付时的订单号Y
refund_no退款流水号,商户生成,同一笔订单内,同一退款流水号只能退款一次。可用于防重复退款。Y
refund_fee退款金额,格式xxxx.xx,单位元Y
reason退款描述N
operator_id商户结账系统的操作员号,选填,若填了则会对操作员号和密码进行校验,若不填则不校验。N
查询订单请求参数[td]
字段解释必须
type查询类型,A:按银行订单流水号查询(默认) B:按商户订单日期和订单号查询N
transaction_id银行订单流水号,type=A时必填Y
date商户订单日期,格式:yyyyMMddY
trade_notype=B时必填商户订单号N
operator_id商户结账系统的操作员号N
已结账单请求参数[td]
字段解释必须
mode查询模式, bank:按照银行日期查询,默认; mch:按照商户日期查询Y
start_time开始日期,时间戳Y
end_time结束日期,时间戳Y
operator_id操作员号,商户结账系统的操作员号Y
next_key_value续传键值,长度只能为0或40;首次查询填“空”;后续查询,按应答报文中返回的nextKeyValue值原样传入。N
退款查询请求参数[td]
字段解释必须
type查询类型 A:按银行退款流水号查单笔(默认) B:按商户订单号+商户退款流水号查单笔 C: 按商户订单号查退款Y
trade_no商户订单号Y
date商户订单日期,时间戳Y
refund_no商户退款流水号长度不超过20位Y
bank_serial_no银行退款流水号长度不超过20位Y
对账单查询请求参数[td]
字段解释必须
date商户订单日期,时间戳Y
message_key交易流水,合作方内部唯一流水Y


链接:https://pan.quark.cn/s/6b8225cd1352
提取码下载:
文件名称:提取码下载.txt 
下载次数:0  文件大小:16 Bytes  售价:29金钱 [记录]
下载权限: 不限 [购买VIP]   [充值]   [在线充值]   【VIP会员6折;永久VIP4折】
安全检测,请放心下载





相关帖子

扫码关注微信公众号,及时获取最新资源信息!下载附件优惠VIP会员6折;永久VIP4折
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明:
1、本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
2、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,请勿任何商业目的与商业用途。
3、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
4、论坛的所有内容都不保证其准确性,完整性,有效性,由于源码具有复制性,一经售出,概不退换。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
5、用户使用本网站必须遵守适用的法律法规,对于用户违法使用本站非法运营而引起的一切责任,由用户自行承担
6、本站所有资源来自互联网转载,版权归原著所有,用户访问和使用本站的条件是必须接受本站“免责声明”,如果不遵守,请勿访问或使用本网站
7、本站使用者因为违反本声明的规定而触犯中华人民共和国法律的,一切后果自己负责,本站不承担任何责任。
8、凡以任何方式登陆本网站或直接、间接使用本网站资料者,视为自愿接受本网站声明的约束。
9、本站以《2013 中华人民共和国计算机软件保护条例》第二章 “软件著作权” 第十七条为原则:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。若有学员需要商用本站资源,请务必联系版权方购买正版授权!
10、本网站如无意中侵犯了某个企业或个人的知识产权,请来信【站长信箱312337667@qq.com】告之,本站将立即删除。
郑重声明:
本站所有资源仅供用户本地电脑学习源代码的内含设计思想和原理,禁止任何其他用途!
本站所有资源、教程来自互联网转载,仅供学习交流,不得商业运营资源,不确保资源完整性,图片和资源仅供参考,不提供任何技术服务。
本站资源仅供本地编辑研究学习参考,禁止未经资源商正版授权参与任何商业行为,违法行为!如需商业请购买各资源商正版授权
本站仅收集资源,提供用户自学研究使用,本站不存在私自接受协助用户架设游戏或资源,非法运营资源行为。
 
在线客服
点击这里给我发消息 点击这里给我发消息 点击这里给我发消息
售前咨询热线
312337667

微信扫一扫,私享最新原创实用干货

QQ|免责声明|小黑屋|依星资源网 ( 鲁ICP备2021043233号-3 )|网站地图

GMT+8, 2025-4-28 00:31

Powered by Net188.com X3.4

邮箱:312337667@qq.com 客服QQ:312337667(工作时间:9:00~21:00)

快速回复 返回顶部 返回列表