この記事では、WeChat 決済における税関申告インターフェースの開発プロセスを紹介します。 WeChat 税関申告書は、税関が要求する注文情報を送信するために販売者によって使用されます。
https://api.mch.weixin.qq.com/cgi-bin/mch/customs/customdeclareorder
証明書は必要ですか
いいえ。
リクエストメソッド: postデータ形式: xml署名メソッド: MD5
注: 販売者の注文番号の金額は、決済システムに記録されている内容に依存します。はサブオーダー番号です。サブオーダーの支払金額、物流費、製品価格(支払額 = 物流費 + 製品価格)をアップロードする必要があります。
フィールド名 | 変数名 | 必須 | タイプ | 値の例 | 説明 |
---|---|---|---|---|---|
署名 | sign | はい | 文字列(32) | C380BEC2BFD727A4B6845133519F3AD6 | 署名、詳細については署名生成アルゴリズムを参照してください |
パブリックアカウントID | appid | は | String(32) | wxd678efh567hg6787 | WeChatによって割り当てられたパブリックアカウントID |
販売者番号 | mch_id | は | String(32) | 1230000109 | WeChat決済によって割り当てられた販売者番号 |
販売者注文番号 | out_trade_no | は | Stringです(32) | 20150806 125346 | 注文番号販売者システム内 |
WeChat 支払い注文番号 | transaction_id | は | String(28) | 1000320306201511078440737890 | WeChat 支払いによって返された注文番号です |
カスタム | カスタム | は | ですString(32) | SHANGHAI | NO 税関に報告する必要はありません GUANGZHOU 広州 HANGZHOU 杭州 NINGBO 寧波 ZHENGZHOU_BS 鄭州 (保税物流センター) CHONG清 重慶 西安 上海 上海 ZHENGZHOU_ZH 鄭州 (総合保税区) SHENZHEN 深セン |
商人の税関登録番号 | mch_customs_no | No | String(32) | 123456 | 税関での販売者の登録番号はNOではありません、このパラメータは必須です |
Tariff | No | Int | 888 | 料金、単位に分かれています |
注文を分割するとき、または税関を再申告するとき、次のフィールドを渡す必要があります
フィールド名 | 変数名 | 義務必須入力 | タイプ | 値の例 | |
---|---|---|---|---|---|
sub_order_no | いいえ | 文字列(32) | 20150806125346 | 販売者サブ注文番号、注文が分割されている場合は送信する必要があります | |
fee_type | No | String(3) | CNY | WeChatの支払い現在、分割注文がある場合は、人民元 CNY のみがサポートされています。 | |
order_fee | No | Int | 888 | 単位に分割された再注文金額は、元の注文金額、order_fee=transport_fee+product_fee (支払額=物流費+製品価格)を超えることはできません)、ご注文が分割された場合は発送させていただきます。 | |
transport_fee | No | Int | 888 | 分割注文がある場合は分割して発送する必要があります。 | |
product_fee | No | Int | 888 | 商品代金は分割注文の場合は分割してお送り頂く必要がございます。 |
WeChatにユーザー情報が不足している場合は、次のフィールドが必要です。販売者がユーザー情報をアップロードしている場合は、販売者がアップロードした情報が優先されます。
変数名 | 必須 | タイプ | 値の例 | 説明 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cert_type | いいえ | 文字列(32) | IDCARD | 当面は ID カードのみがサポートされます。販売者がユーザー情報を持っている場合、システムは通関レポートの基礎としてアップロードできます。 | 証明書番号 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | name | No | String(64) | 张三 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
。 |
字段名 | 变量名 | 必填 | 类型 | 示例值 | 说明 |
---|---|---|---|---|---|
返回状态码 | return_code | 是 | String(16) | SUCCESS | SUCCESS/FAIL 此字段是通信标识,非交易标识,交易是否成功需要查看result_code来判断 |
返回信息 | return_msg | 否 | String(128) | 签名失败 | 返回信息,如非空,为错误原因 签名失败 参数格式校验错误 |
以下字段在return_code为SUCCESS的时候有返回
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
签名类型 | sign_type | 是 | String(32) | MD5 | 暂只支持MD5 |
签名 | sign | 是 | String(32) | C380BEC2BFD727A4B6845133519F3AD6 | 签名,详见签名生成算法 |
公众账号ID | appid | 是 | String(32) | wxd678efh567hg6787 | 微信分配的公众账号ID |
商户号 | mch_id | 是 | String(32) | 1230000109 | 微信支付分配的商户号 |
业务结果 | result_code | 是 | String(16) | SUCCESS | SUCCESS/FAIL |
错误代码 | err_code | 否 | String(32) | SYSTEMERROR | 详细参见错误列表 |
错误代码描述 | err_code_des | 否 | String(128) | 系统错误 | 错误返回的信息描述 |
以下字段在return_code 和result_code都为SUCCESS的时候有返回
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
状态码 | state | 是 | String(2) | UNDECLARED | 状态码 UNDECLARED -- 未申报 SUBMITTED -- 申报已提交(订单已经送海关,商户重新申报,并且海关还有修改接口,那么记录的状态会是这个) PROCESSING -- 申报中 SUCCESS -- 申报成功 FAIL-- 申报失败 EXCEPT --海关接口异常 |
微信支付订单号 | transaction_id | 是 | String(28) | 1000320306201511078440737890 | 微信支付返回的订单号 |
商户订单号 | out_trade_no | 是 | String(32) | 20150806125346 | 商户系统内部的订单号 |
商户子订单号 | sub_order_no | 否 | String(32) | 20150806125346 | 商户子订单号,如有拆单则必传 |
微信子订单号 | sub_order_id | 否 | String(32) | 20150806125346 | 微信子订单号 |
最后更新时间 | modify_time | 是 | String(14) | 20091227091010 | 最后更新时间,格式为yyyyMMddhhmmss,如2009年12月27日9点10分10秒表示为20091227091010。时区为GMT+8 beijing。该时间取自微信服务器 |
名称 | 描述 | 原因 | 解决方案 |
---|---|---|---|
132011004 | 参数错误 | 报关时仅传入订单号,不传入子订单号(sub_order_no)时,不能填费用信息,须以支付系统中的值为准 | 请检查参数是否都正确 |
132021028 | 交易币种与商户结算币种不一致】 | 报关时传入子订单号(sub_order_no)时,币种参数(fee_type)必填 | 请检查所传币种参数(fee_type)是否为空 |
MCHID_NOT_SET | 商户号未设置 | 商户号为必传参数,请求时必传 | 请检查商户号是否为空 |
MCHID_INVALID_LENGTH | 无效的商户号长度 | 报关接口只支持12开头10位数字的商户号 | 请检查商户号长度是否为10位 |
CUSTOMSCONFIG_NOT_SET | 海关配置未设置 | 报关接口需要商户已配置过海关信息才可以访问 | 请参照上文中的海关备案指引,进行海关信息报备 |
FEETYPE_NOT_SET | 币种类型未设置 | 拆单情况下,币种为必填参数 | 请检查fee_type是否为空 |
OUTTRADENO_NOT_SET | 商户订单号(out_trade_no)未设置 | 商户订单号为必传参数 | 请检查商户订单号(out_trade_no)是否为空 |
TRANSACTION_ID_NOT_SET | 微信订单号(transaction_id)未设置 | 微信订单号(transaction_id)为必传参数 | 请检查微信订单号(transaction_id)是否为空 |
INVALID_TRANSACTION_ID | 无效的微信订单号长度 | 微信订单号为28位数字,请确保长度一致 | 请检查微信订单号(transaction_id)是否正确 |
CUSTOMS_NOT_SET | 海关信息未设置 | 海关信息为必传字段 | 请检查海关信息是否为空 |
CHCUSTOMSNO_NOT_SET | 海关备案号未设置 | 海关备案号为必传字段 | 请检查备案号是否为空 |
INVALID_MCHCUSTOMSNO | 无效的海关备案号长度 | 海关备案号一般为6位字符串 | 请检查海关备案号是否正确 |
PAYFEE_NOT_MATCH | 金额不匹配 | 报关的订单金额必须和支付的金额一致 | 请检查报关订单的金额是否正确 |
INVALID_SUBORDER_NO | 无效的子订单号长度(sub_order_no) | 子订单号要求是32位以内的字符串 | 请检查子订单号长度是否正确 |
APPID_NOT_EXIST | AppId未设置(sub_order_no) | appid为必传字段 | 请检查appid是否正确 |
MCHID_NOT_EXIST | 商户号(mch_id)未设置 | MCH_ID为必传字段 | 请检查mch_id是否正确 |
AUTHORITY_NOT_FOUND | 未开通自助清关功能 | 须先开通自助清关功能才可成功调用接口 | 请检查是否已开通自助清关功能,开通路径:微信支付商户平台-产品中心-自助清关中申请开通。 |
NO_AUTH | 无权限 | 未获得此接口的调用权限 | 请检查当前商户号是否已获得此接口的调用权限 |
sdk定义
发送数据如下
array(6) { ["appid"]=> string(18) "wxa8092dd025e45123" ["mch_id"]=> string(10) "1238298123" ["out_trade_no"]=> string(22) "SH20160824095750086988" ["transaction_id"]=> string(28) "4006742001201608242098415582" ["customs"]=> string(6) "NINGBO" ["mch_customs_no"]=> string(10) "3302461123" }
接收到的数据如下
array(12) { ["return_code"]=> string(7) "SUCCESS" ["return_msg"]=> string(6) "成功" ["sign"]=> string(32) "91EFCEEAAD4322F331F3F63C4D8F1279" ["appid"]=> string(18) "wxa8092dd025e45123" ["mch_id"]=> string(10) "1238298123" ["result_code"]=> string(7) "SUCCESS" ["err_code"]=> string(1) "0" ["err_code_des"]=> string(2) "OK" ["state"]=> string(9) "SUBMITTED" ["transaction_id"]=> string(28) "4006742001201608242098415582" ["out_trade_no"]=> string(22) "SH20160824095750086988" ["modify_time"]=> string(14) "20160825111049" }
以上がWeChatパブリックプラットフォームがWeChat支払い税関申告インターフェースを開発の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。