预创建订单
优质
小牛编辑
130浏览
2023-12-01
说明
支付宝境外到店支付-预创建订单
官方文档:https://global.alipay.com/service/transaction_QR_Code/13
类
请求参数类
请求参数
类名:\Yurun\PaySDK\AlipayCrossBorder\InStore\PreCreate\Request
属性
名称 | 类型 | 说明 |
---|---|---|
$service | string | 接口名称 |
$notify_url | string | 退款通知地址,必须使用https协议 |
$timestamp | int | 商户服务器发送请求的时间戳, 精确到毫秒 |
$terminal_timestamp | int | 终端发送请求的时间戳, 精确到毫秒。 |
$out_trade_no | string | 商户订单号 |
$subject | string | 商品的标题/交易标题/订单标题/订单关键字等。 |
$product_code | string | 产品代码 |
$total_fee | string | 该笔订单的资金总额,单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。 |
$seller_id | string | 卖家支付宝用户号 |
$seller_email | string | 卖家支付宝账号 |
$body | string | 对一笔交易的具体描述信息。如果是多种商品,请将商品描述字符串累加传给body。 |
$show_url | string | 收银台页面上,商品展示的超链接。 |
$currency | string | 用于标记交易价格的货币, 这也是结算货币支付宝结算给合作伙伴 |
$trans_currency | string | 定价币种,货币代码 |
$price | string | 商品单价 |
$quantity | string | 购买数量 |
$goods_detail | array<\Yurun\PaySDK\AlipayCrossBorder\InStore\PreCreate\GoodsDetail> | 订单包含的商品列表信息 最大允许商品数量50 |
$extend_params | \Yurun\PaySDK\AlipayCrossBorder\InStore\PreCreate\ExtendInfo | 用于传送商家的具体业务信息;如果商家和支付宝同意传输此参数并就该参数的含义达成协议, 则此参数才有效。 例如, 在可以通过声波进行付款的情况下, 存储 ID 和其他信息;此类资料应以 json 格式写成;有关详细信息, 请参阅 "4.4 业务扩展参数说明"。 |
$it_b_pay | string | 设置逾期不付款的交易, 贸易将自动关闭一旦时间。 值的范围: 1 m ~ 15 d。 m 分钟, h 小时, d-day, 1 c-当前天 (每当贸易被创造, 它将被关闭在 0:00)。 此参数的数值 Demical 点被拒绝, 例如, 1.5h 可以 tansformed 到90m。 为了实现这一功能, 支付宝需要被建议设置关闭时间。 |
$passback_parameters | string | 如果商家通过请求字符串传输此参数, 支付宝将通过异步通知 (参数名称: extra_common_param) 来反馈此参数。 |
$_syncResponseName | string | 支付宝返回的json中xxx_response的名字 |
$_method | string | 接口请求方法 |
$_isSyncVerify | boolean | 是否同步返回验证 |
商品详情
属性
名称 | 类型 | 说明 |
---|---|---|
$goodsId | string | 商品ID |
$goodsName | string | 商品名称 |
$goodsCategory | string | 商品分类 |
$showUrl | string | 商品链接 |
$quantity | string | 数量 |
$body | string | 商品介绍 |
$price | string | 商品单价 |
业务信息
属性
名称 | 类型 | 说明 |
---|---|---|
$secondary_merchant_name | string | 将被记录在用户的声明中的子商家名称 |
$secondary_merchant_id | string | 用于区分每个特定子商户的子商户 ID |
$secondary_merchant_industry | string | 行业分类标识符 参考:https://global.alipay.com/help/online/81 |
$store_id | string | 商家指定的商户店铺的唯一 id |
$store_name | string | 在客户的支付宝钱包和核对文件中显示的商家商店的名称。 |
$terminal_id | string | 用于提交请求的终端 ID。如果建议使用即时升级返利, 则必须传输此参数。 |
$sys_service_provider_id | string | 技术提供商 id。此参数用于标识付款系统提供程序。 |
简单使用
// 支付接口
$request = new \Yurun\PaySDK\AlipayCrossBorder\InStore\PreCreate\Request;
$request->notify_url = $GLOBALS['PAY_CONFIG']['notify_url'];
$request->out_trade_no = 'test' . mt_rand(10000000,99999999); // 商户订单号
$request->subject = '测试商品'; // 商品标题
$request->total_fee = 0.01; // 价格
$request->seller_id = $GLOBALS['PAY_CONFIG']['appid'];
$request->currency = 'USD';
$request->trans_currency = 'USD';
$request->extend_params->secondary_merchant_id = '1';
$request->extend_params->secondary_merchant_industry = '2';
$request->extend_params->secondary_merchant_name = '3';
$request->extend_params->store_id = '4';
$request->extend_params->store_name = '5';
// 调用接口
$result = $pay->execute($request);
var_dump('result:', $result);
var_dump('success:', $pay->checkResult());
var_dump('error:', $pay->getError(), 'error_code:', $pay->getErrorCode());
详见:test/AlipayCrossBorder/InStore/pre_create.php