支付报关对接

1.PHP语言通过直接嵌入phpsdk完成对接 >下载PHPSDK

微信

在商户平台开通微信清关功能:
https://pay.weixin.qq.com/wiki/doc/api/external/declarecustom.php?chapter=17_1&index=1
微信报关文档

>>发送支付请求
全局搜索网址 https://api.mch.weixin.qq.com/pay/unifiedorder
统一下单接口时发给微信的那段xml
>>请求支付时放入如下代码
include __DIR__.'/paybaoguan_sdk.php';
\paybaoguan_sdk::send_request('weixin',$xml);

>>发送支付响应

放在微信回调地址notify_url对应文件的第一行
include __DIR__.'/paybaoguan_sdk.php';
\paybaoguan_sdk::send_response('weixin');

支付宝

>>支付宝报关需要签约
支付宝签约接口: alipay.acquire.customs
签约手续办理:
https://opendocs.alipay.com/open/155/104776
支付宝商家中心/产品中心/自助签约-海关报关中心v1
支付宝报关文档
>>发送支付请求
alipay:url,跳转到支付宝的那段url

>>在请求支付增加如下代码
include __DIR__.'/paybaoguan_sdk.php';
\paybaoguan_sdk::send_request('alipay',$url);

>>发送支付响应
放在支付宝回调地址notify_url对应文件的第一行
include __DIR__.'/paybaoguan_sdk.php';
\paybaoguan_sdk::send_response('alipay');

通联支付

>>发送支付请求
发起支付时发给通联支付的json字符串

>>在请求支付增加如下代码
include __DIR__.'/paybaoguan_sdk.php';
\paybaoguan_sdk::send_request('tonglian'',$json_str);

>>发送支付响应
放在支付宝回调地址notify_url对应文件的第一行
include __DIR__.'/paybaoguan_sdk.php';

需要将支付人的真实姓名和身份证号附加发送

$param = [

'payer_name'=>'支付人姓名',

'payer_idcard_number'=>'支付人身份证号码'

];
\paybaoguan_sdk::send_response('tonglian',$param);

2.非PHP语言,通过接口,将支付原始请求/原始响应,程序自动解析并报关,同时储存179查询数据

1.支付请求发送接口

说明

向报关平台 推送 支付原始请求

调用方式

商城 请求 报关平台

请求方式为post方式(x-www-form-urlencoded)

接口地址

管理员获取

post请求参数:

名称 是否必须 说明 备注
channel 支付渠道 weixin,alipay,tonglian,hipopay
request 原始支付请求 微信为xml示例,支付宝为url

返回数据:

成功:success, 失败:其他字符串

接口调试:

支付请求接口地址
channel
request

微信是:统一下单接口时发给微信的那段xml,示例

<xml><appid><![CDATA[wxa9dc14d3ec1ee2d1]]></appid>
<body><![CDATA[商品]]></body>
<mch_id>1536170061</mch_id>
<nonce_str><![CDATA[jl36l10qu8ppebyisqnuax7e3m4sfhee]]></nonce_str>
<notify_url><![CDATA[https://xxx.com/notify_weixin.php]]></notify_url>
<out_trade_no>20190522102831981924614</out_trade_no>
<spbill_create_ip><![CDATA[27.210.115.248]]></spbill_create_ip>
<total_fee>2</total_fee>
<trade_type><![CDATA[JSAPI]]></trade_type>
<attach><![CDATA[weapp]]></attach>
<openid><![CDATA[oku975cUNioSGTSxJ95OBbPiRYvA]]></openid>
<sign><![CDATA[50F2ACCE4C375EDE6E128EF30E390F5A]]></sign>
</xml>

支付宝: 是url或者发给支付宝一段json,示例

返回结果
2.支付回调发送接口

说明

向报关平台 推送 支付原始响应

调用方式

商城 请求 报关平台

请求方式: POST(x-www-form-urlencoded)

接口地址

管理员获取

post请求参数:

名称 是否必须 说明 备注
channel 支付渠道 weixin,alipay,tonglian,hipopay
response 原始支付响应 微信为xml,其他为将post转化为json
customs 支付报关推送口岸 如果传,则指定口岸上报,不传则用后台配置的口岸上报
name 真实姓名 如果传,则实名验证
idcard 身份证号 如果传,则实名验证
sub_order_no 子订单号 如果传,则拆单上报
order_fee 子订单金额,单位元 如果传,则拆单上报

返回数据:

成功:success, 失败:其他字符串

接口调试:

支付响应接口地址
channel
response

微信是回调的原始的xml,示例

<xml><appid><![CDATA[wxa9dc14d3ec1ee2d1]]></appid>
<attach><![CDATA[weapp]]></attach>
<bank_type><![CDATA[CFT]]></bank_type>
<cash_fee><![CDATA[2]]></cash_fee>
<fee_type><![CDATA[CNY]]></fee_type>
<is_subscribe><![CDATA[N]]></is_subscribe>
<mch_id><![CDATA[1536170061]]></mch_id>
<nonce_str><![CDATA[jl36l10qu8ppebyisqnuax7e3m4sfhee]]></nonce_str>
<openid><![CDATA[oku975cUNioSGTSxJ95OBbPiRYvA]]></openid>
<out_trade_no><![CDATA[20190522102831981924614]]></out_trade_no>
<result_code><![CDATA[SUCCESS]]></result_code>
<return_code><![CDATA[SUCCESS]]></return_code>
<sign><![CDATA[F885BFE44F167ED3407B767DEC3C60AE]]></sign>
<time_end><![CDATA[20190522102839]]></time_end>
<total_fee>2</total_fee>
<trade_type><![CDATA[JSAPI]]></trade_type>
<transaction_id><![CDATA[4200000307201905220585361145]]></transaction_id>
</xml>

支付宝是回调的post参数,然后json格式化后字符串.示例

>扩展参数
customs
name
idcard
sub_order_no
order_fee
返回结果