提交
优质
小牛编辑
136浏览
2023-12-01
说明
微信支付-订单附加信息提交接口SDK。
官方文档:https://pay.weixin.qq.com/wiki/doc/api/external/declarecustom.php?chapter=18_1
类
请求参数类
请求参数
类名:\Yurun\PaySDK\Weixin\CustomDeclareOrder\Request
属性
名称 | 类型 | 说明 | |
---|---|---|---|
$_apiMethod | string | 接口名称 | |
$out_trade_no | string | 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_- | *@ ,且在同一个商户号下唯一。 |
$transaction_id | string | 微信支付返回的订单号 | |
$customs | string | 海关 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_no | string | 商户在海关登记的备案号,customs非NO,此参数必填 | |
$duty | int | 关税,以分为单位,少数海关特殊要求上传该字段时需要 | |
$sub_order_no | string | 商户子订单号,如有拆单则必传 | |
$fee_type | string | 币种,微信支付订单支付时使用的币种,暂只支持人民币CNY,如有拆单则必传。 | |
$order_fee | int | 应付金额 子订单金额,以分为单位,不能超过原订单金额,order_fee=transport_fee+product_fee(应付金额=物流费+商品价格),如有拆单则必传。 | |
$transport_fee | int | 物流费用,以分为单位,如有拆单则必传。 | |
$product_fee | int | 商品费用,以分为单位,如有拆单则必传。 | |
$cert_type | string | 证件类型 请传固定值IDCARD,暂只支持身份证,该参数是指用户信息,商户若有用户信息,可上送,系统将以商户上传的数据为准,进行海关通关报备; | |
$cert_id | string | 证件号码 身份证号,尾号为字母X的身份证号,请大写字母X。该参数是指用户信息,商户若有用户信息,可上送,系统将以商户上传的数据为准,进行海关通关报备; | |
$name | string | 姓名 用户姓名,该参数是指用户信息,商户若有用户信息,可上送,系统将以商户上传的数据为准,进行海关通关报备; | |
$needAppID | boolean | 参数中是否需要带有app_id | |
$needMchID | boolean | 参数中是否需要带有mch_id | |
$needSignType | boolean | 参数中是否需要带有sign_type | |
$signType | string | 签名类型,为null时使用publicParams设置 | |
$needNonceStr | boolean | 参数中是否需要带有nonce_str | |
$allowReport | boolean | 是否允许上报 | |
$_method | string | 接口请求方法 | |
$_isSyncVerify | boolean | 是否同步返回验证 |
简单使用
// 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