ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### 使用描述 虚拟商品预下单,虚拟商品只支持单个商品进行下单,请参考[虚拟商品对接流程](虚拟商品对接流程.md),如果是实物商品下单,请使用[实物商品预下单](实物商品预下单.md) 测试环境提供的测试商品: | 商品ID | 商品名称 | 商品类型 | 下单后的效果 | | --- | --- | --- | --- | | 11161277577 | 美团优惠券10元 | 卡密商品 | 下单成功 | | 11163708549 | 高德打车30元直充券 | 直充商品 | 订单取消,进行退款 | ### [](https://duobaoyu.com.cn/documentcenter?onlyFlag=72dc53a8dcdd4d637ac9032506580696#%E6%96%B9%E6%B3%95%E5%90%8D)方法名 dby.scm.order.virtualGoods.submit ### [](https://duobaoyu.com.cn/documentcenter?onlyFlag=72dc53a8dcdd4d637ac9032506580696#%E7%BD%91%E5%85%B3%E5%9C%B0%E5%9D%80)网关地址 | 环境 | 地址 | 请求方式 | | --- | --- | --- | | 生产环境 | `https://openapi.duobaoyu.com.cn/open/api` | post+json | | 测试环境 | `https://openapi.duobaoyu88.cn/open/api` | post+json | ### [](https://duobaoyu.com.cn/documentcenter?onlyFlag=72dc53a8dcdd4d637ac9032506580696#%E5%85%AC%E5%85%B1query%E5%8F%82%E6%95%B0)公共Query参数 * * * | 名称 | 类型 | 必填 | 描述 | | --- | --- | --- | --- | | method | String | 是 | 方法名称 | | sign | String | 是 | [签名](https://duobaoyu.com.cn/documentcenter?onlyFlag=414ce68bebb334fe46d941321863e22b) | | timestamp | String | 是 | 时间戳,格式为13位,例如:1670223623000 | | version | String | 是 | 版本号,现固定为v1 | | appKey | String | 是 | 申请的应用appKey | ### [](https://duobaoyu.com.cn/documentcenter?onlyFlag=72dc53a8dcdd4d637ac9032506580696#%E4%B8%9A%E5%8A%A1body%E5%8F%82%E6%95%B0applicationjson)业务Body参数(application/json) * * * | 名称 | 类型 | 必填 | 示例值 | 描述 | | --- | --- | --- | --- | --- | | tradeNo | java.lang.String | 是 | 123456789 | 交易单号(少于50字符)每次请求确保唯一性 | | account | java.lang.String | 否 | 16866668888 | 充值账号(话费和直充类商品必填) | | skuCode | java.lang.String | 是 | 123456 | SKU编号 | | skuNum | java.lang.Integer | 是 | 1 | 购买数量 | | unitPrice | java.lang.Long | 否 | 955 | 商品成本单价`分`(传值时会校验传入价格和商品当前价格是否相等:如果相等就会扣除商户对应价格的预存款,如果价格不相等,下单失败。建议必传) | | provinceCode | java.lang.String | 否 | 31 | 省份code.仅电费充值类型商品必填 | | cityCode | java.lang.String | 否 | 3101 | 城市code.仅电费充值类型商品必填 | ### [](https://duobaoyu.com.cn/documentcenter?onlyFlag=72dc53a8dcdd4d637ac9032506580696#%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0)响应参数 * * * | 名称 | 类型 | 示例值 | 描述 | | --- | --- | --- | --- | | code | java.lang.String | 0 | 业务编码处理结果编码 | | msg | java.lang.String | 请求成功 | 业务处理结果结果说明 | | data | java.lang.Object | | 响应结果 | |   ├─tradeNo | java.lang.String | 123456789 | 交易单号,长度小于50 | |   ├─dbyOrderId | java.lang.String | 223456789 | 小象订单号 | |   ├─totalGoodsAmount | java.lang.Long | 955 | 订单商品总额,单位`分` | |   ├─account | java.lang.String | 16866668888 | 充值账号 | |   ├─skuCode | java.lang.String | 123456 | sku编码 | |   ├─skuNum | java.lang.Integer | 1 | 商品数量 | |   ├─unitPrice | java.lang.Long | 955 | 商品单价`分` | | msgId | java.lang.String | efd7f07011124adf | 消息id | ### [](https://duobaoyu.com.cn/documentcenter?onlyFlag=72dc53a8dcdd4d637ac9032506580696#%E8%AF%B7%E6%B1%82%E7%A4%BA%E4%BE%8B)请求示例 curljavaphp ~~~json curl -XPOST -H "Content-type: application/json" -d '{ "tradeNo": "123456789", "account": 16866668888, "skuCode": "20197729024", "skuNum": 1, "unitPrice": 955 }' 'http://xxxxx/open/api?method=dby.scm.order.virtualGoods.submit&version=v1&appKey=your appKey&timestamp=1670057525000&sign=123' ~~~ ### [](https://duobaoyu.com.cn/documentcenter?onlyFlag=72dc53a8dcdd4d637ac9032506580696#%E5%93%8D%E5%BA%94%E7%A4%BA%E4%BE%8B)响应示例 ~~~json { "code": "0", "msg": "请求成功", "data": { "tradeNo": "1600051418208919552", "dbyOrderId": "1411600051417199017984", "totalGoodsAmount": 2640, "skuCode": "20197729024", "skuNum": 1, "unitPrice": 2640, "account": "16866668888" }, "msgId": "c98195bed06842b4", "success": true } ~~~ ### [](https://duobaoyu.com.cn/documentcenter?onlyFlag=72dc53a8dcdd4d637ac9032506580696#%E5%BC%82%E5%B8%B8%E7%A4%BA%E4%BE%8B)异常示例 ~~~json { "code": "1", "msg": "请求失败", "data": null, "msgId": "efd7f07011124adf" } ~~~