提交

优质
小牛编辑
132浏览
2023-12-01

说明

微信支付-订单附加信息提交接口SDK。

官方文档:https://pay.weixin.qq.com/wiki/doc/api/external/declarecustom.php?chapter=18_1

请求参数类

请求参数

类名:\Yurun\PaySDK\Weixin\CustomDeclareOrder\Request

属性
名称类型说明
$_apiMethodstring接口名称
$out_trade_nostring商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-*@ ,且在同一个商户号下唯一。
$transaction_idstring微信支付返回的订单号
$customsstring海关
NO 无需上报海关
GUANGZHOU_ZS 广州(总署版)
GUANGZHOU_HP_GJ 广州黄埔国检(需推送订单至黄埔国检的订单需分别推送广州(总署版)和广州黄埔国检,即需要请求两次报关接口)
GUANGZHOU_NS_GJ 广州南沙国检(需推送订单至南沙国检的订单需分别推送广州(总署版)和广州南沙国检,即需要请求两次报关接口)
HANGZHOU_ZS 杭州(总署版)
NINGBO 宁波
ZHENGZHOU_BS 郑州(保税物流中心)
CHONGQING 重庆
XIAN 西安
SHANGHAI_ZS 上海(总署版)
SHENZHEN 深圳
ZHENGZHOU_ZH_ZS 郑州综保(总署版)
TIANJIN 天津
BEIJING 北京
$mch_customs_nostring商户在海关登记的备案号,customs非NO,此参数必填
$dutyint关税,以分为单位,少数海关特殊要求上传该字段时需要
$sub_order_nostring商户子订单号,如有拆单则必传
$fee_typestring币种,微信支付订单支付时使用的币种,暂只支持人民币CNY,如有拆单则必传。
$order_feeint应付金额
子订单金额,以分为单位,不能超过原订单金额,order_fee=transport_fee+product_fee(应付金额=物流费+商品价格),如有拆单则必传。
$transport_feeint物流费用,以分为单位,如有拆单则必传。
$product_feeint商品费用,以分为单位,如有拆单则必传。
$cert_typestring证件类型
请传固定值IDCARD,暂只支持身份证,该参数是指用户信息,商户若有用户信息,可上送,系统将以商户上传的数据为准,进行海关通关报备;
$cert_idstring证件号码
身份证号,尾号为字母X的身份证号,请大写字母X。该参数是指用户信息,商户若有用户信息,可上送,系统将以商户上传的数据为准,进行海关通关报备;
$namestring姓名
用户姓名,该参数是指用户信息,商户若有用户信息,可上送,系统将以商户上传的数据为准,进行海关通关报备;
$needAppIDboolean参数中是否需要带有app_id
$needMchIDboolean参数中是否需要带有mch_id
$needSignTypeboolean参数中是否需要带有sign_type
$signTypestring签名类型,为null时使用publicParams设置
$needNonceStrboolean参数中是否需要带有nonce_str
$allowReportboolean是否允许上报
$_methodstring接口请求方法
$_isSyncVerifyboolean是否同步返回验证

简单使用

// SDK实例化,传入公共配置
$sdk = new \Yurun\PaySDK\Weixin\SDK($params);

$request = new \Yurun\PaySDK\Weixin\CustomDeclareOrder\Request;
$request->out_trade_no = '123456'; // 商户订单号
$request->transaction_id = '123456'; // 微信支付订单号
$request->customs = 'NO'; // 这里写你需要的海关,可参考注释或文档


$result = $sdk->execute($request);

var_dump('result:', $result);

var_dump('success:', $sdk->checkResult());

var_dump('error:', $sdk->getError(), 'error_code:', $sdk->getErrorCode());

详见:test/Weixin/custom_declare_order.php