# 1. 创建订单(通用)

# 简要描述

  • 当商户确认支付完成后,向Swifood发送创建订单请求,Swifood会为商户创建订单,并向已连接的打印机推送打印支付小票的指令。

# HTTP请求信息

# 请求URL

  • {domain}/open-api/order/create

# 请求方式

  • POST

# 请求头

参数名 是否必填 类型 说明
Content-Type string application/json

# 请求体参数

参数名 是否必填 类型 长度 示例 说明
appId string - 45eebd745dcf0b5f6d6f9fcde28cd9fe8116a892 应用 id (Swifood 提供)
storeKey string 100 CVIEIYUNHTS0 店铺标识 (Swifood 提供)
param string - - 请求参数字符串
sign string - param 的RSA签名

# Param 参数

参数名 是否必填 类型 长度 示例 说明
productInfo list 1 - 50 - 商品信息
serviceFee integer 0 - 10000000 10 服务费 单位:分(桌码点餐必填)
orderType integer - 2 订单类型 1、桌码点餐 2、排队点餐 3、外卖订单
paymentWay string - 1 支付方式 1:线上 2:线下
pickUpNum string 1 - 50 001 取餐码(排队点餐填写,为空时,Swifood自动生成)
merchantDeliveryFee integer 0 - 10000000 10 商户配送费, 单位:分(商户承担的配送费)
deliveryFee integer 0 - 10000000 10 配送费 单位:分(外卖订单必填,用户承担的配送费)
packingFee integer 0 - 10000000 10 打包费 单位:分(外卖订单必填)
userName string 1 - 100 Join 外卖订单用户名
userPhone string 1 - 20 - 外卖订单用户手机号
userAddress string 1 - 200 - 外卖订单用户地址
customPrintContext string - Test 商户自定义打印内容
paymentChannel string 1 - 200 QRPH_DYNAMIC_QR 支付渠道(线上交易必填)
paymentTransactionId string 1 - 50 支付交易id (商户订单号,线上支付传PayCools系统 merchantOrderId号)
paymentAmount integer 0 - 100000000 100 支付金额(实付金额)单位:分
discountAmount integer 0 - 100000000 10 折扣金额 单位:分
discountType string - 折扣类型 1:普通折扣;2:PWD折扣;4:SC折扣
promoDiscountType integer - 1 1整单折扣 2商品折扣
discountNo string 1 - 200 120941 优惠卡号(PWD、SC折扣必填)
discounterName string 1 - 50 Join 优惠人姓名(PWD、SC折扣必填)
discountValidityPeriod string 1 - 200 2025-01-01 优惠有效期(PWD折扣必填)
transactionFee integer 0 - 100000000 10 交易手续费 单位:分(线上交易产生的手续费)
transactionFeeType integer 1 - 10 1 手续费承担方; 1;商家;2:用户 (线上交易产生的手续费)
transactionId string 1 - 50 SR93458586001 支付平台订单id (支付平台的交易id)
paymentPlatform string 1 - 200 Paycools 支付平台 (暂时只支持Paycools)
transactionCreateTime string 1 - 200 2025-01-01 00:00:00 交易创建时间(线上交易必填)
transactionReturnTime string 1 - 200 2025-01-01 00:00:00 交易完成时间(线上交易必填)

# Product Info Param

参数名 是否必填 类型 长度 示例 说明
productName string 1 - 50 coffee 商品名称
price integer 0 - 1000000 100 商品税后单价 单位:分
quantity integer 1 - 1000 1 商品数量

# 请求体示例

{
  "appId": "OpenTestAppId",
  "storeKey": "OpenTestStoreKey",
  "sign": "OpenTestSign",
  "param": "{\"productInfo\":[{\"productName\":\"item1\",\"price\":100,\"quantity\": 1},{\"productName\":\"item2\",\"price\":100,\"quantity\":1}],\"customPrintContext\":\"test custom\",\"paymentWay\": 1,\"paymentTransaction\": \"ON12384876123\",\"paymentAmount\": 190,\"discountAmount\":10,\"transactionFeeType\":\"1\",\"orderType\":2,\"discountType\":1,\"paymentChannel\":\"QRPH_DYNAMIC_QR\",\"transactionId\":\"OpenTest003\",\"paymentTransactionId\":\"OpenTestMch003\",\"transactionFee\":1,\"transactionCreateTime\":\"2024-12-12 00:00:00\",\"transactionReturnTime\":\"2024-12-12 00:00:00\",\"discounterName\":\"open\",\"discountNo\":\"openDiscount001\",\"discountValidityPeriod\":\"2024-12-30\"}"
}

# 响应示例

# 状态码 Refer to this list

# 响应参数

参数名 类型 示 例 说明
code integer 10000 状态码 Refer to List
message string success 状态码说明
data Object - 返回的参数
- orderNo string - 订单号
- pickUpNo string - 取餐码(排队点餐返回该字段)
{
  "code": 10000,
  "message": "success",
  "data": "{\"orderNo\":\"TB*******431\",\"pickUpNo\": \"001\", \"takeoutNo\":\"001\"}"
}

# 失败响应示例

{
    "code":21000,
    "message":"Service error, please contact administrator",
    "data":null
}

# 支付渠道

渠道名称 渠道 code
QRPH QRPH_DYNAMIC_QR
GCash WebPay GCASH_URL
Grab WebPay GRPY_URL
UnionBank UBPB_URL
BPI BPIA_URL
Maya PAYMAYA_URL
UnionBank UBPB_URL
Alipay ZFB_URL
GCash QR GCASH_DYNAMIC_QR
GCash Scan QR GCASH_CPM