收款(Pay-In · 墨西哥)
大约 5 分钟
墨西哥地区 收款(Pay-in) 接口(MXN)。详见 支付方式。
Request
Request Path:
sandbox:
https://sandbox-gateway.smilepayz.com/v2.0/transaction/pay-in
production:https://gateway.smilepayz.com/v2.0/transaction/pay-in
Header Parameters
| Field | Required | Type | Description |
|---|---|---|---|
Content-Type | M | String | application/json 请求体。 |
X-TIMESTAMP | M | String | Format: yyyy-MM-ddTHH:mm:ss±HH:mm (e.g. Mexico CST −06:00). |
X-SIGNATURE | M | String | 请求体签名(见产品文档 签名生成)。 |
X-PARTNER-ID | M | String | Your merchantID |
Body Parameters
| Field | Required | Type | Description |
|---|---|---|---|
orderNo | M | String(32) | 商户唯一订单号 |
purpose | M | String(64) | 展示用摘要 |
merchant | M | Object | 含 merchantId 及可选子商户字段。 |
merchantId | M | String | Smilepayz merchantId。 |
merchantName | O | String | 商户展示名。 |
subMerchantId | O | String | 可选子商户编号。 |
subMerchantName | O | String | subMerchantId 的名称。 |
money | M | Object | currency 与 amount 金额对象。 |
currency | M | String | 固定为 MXN。 |
amount | M | Number | 金额(最多 2 位小数)。小数位见 金额 Money |
paymentMethod | M | String | 通道编码(见 支付方式 文档)。 |
expiryPeriod | O | Number | ExpiryPeriod,默认 3600。 |
redirectUrl | O | String(256) | 支付后 HTTPS 回跳,最长 256。 |
callbackUrl | O | String(256) | 异步通知 HTTPS,最长 256。 |
Example Body – Transaction Request:
Content-type: application/json
X-TIMESTAMP: 2020-12-17T10:55:00-06:00
X-SIGNATURE: 7MHd9v5/m9JeqmDZVwWBZUZ5J5...7120QnFEny7Qm7uQR1G0TWCh10fsU6nVxiRoeoQ==
X-PARTNER-ID: 20001
{
"orderNo": "20001mxspei394eeb7b44c2460",
"purpose": "Electronics invoice — CDMX",
"merchant": {
"merchantId": "20001"
},
"money": {
"currency": "MXN",
"amount": 250000
},
"paymentMethod": "SPEI"
}
Responses
HTTP Request
| Field | Required | Type | Description |
|---|---|---|---|
Content-Type | M | String | application/json 请求体。 |
X-TIMESTAMP | M | String | Format: yyyy-MM-ddTHH:mm:ss±HH:mm |
Body Parameters
| Field | Required | Type | Description |
|---|---|---|---|
code | M | String | 00 成功,其余失败。 |
message | M | String | UTF-8 结果说明。 |
orderNo | M | String | 商户唯一订单号 |
tradeNo | O | String | 平台 tradeNo。 |
merchant | M | Object | 含 merchantId 及可选子商户字段。 |
merchantId | M | String | Smilepayz merchantId。 |
merchantName | O | String | 商户展示名。 |
subMerchantId | O | String | 可选子商户编号。 |
subMerchantName | O | String | subMerchantId 的名称。 |
money | M | Object | currency 与 amount 金额对象。 |
currency | M | String | 固定为 MXN。 |
amount | M | Number | 金额(最多 2 位小数)。小数位见 金额 Money |
transactionTime | M | String | yyyy-MM-ddTHH:mm:ss±HH:mm |
channel | M | Object | 通道数据(paymentUrl、qrString 等)。 |
paymentMethod | M | String | 通道编码(见 支付方式 文档)。 |
paymentUrl | O | String | 收银台跳转 URL。 |
qrString | O | String | 通道返回的复制串(若有)。 |
receiverBankName | O | String | Bank / brand code when returned. |
vaNumber | O | String | Virtual account / reference when returned. |
status | O | String | 订单或支付状态枚举值。 |
responseCode | O | String | Channel result code when returned (e.g. CODI / OXXO). |
responseMessage | O | String | Channel result text when returned. |
Content-type: application/json
X-TIMESTAMP: 2020-12-17T10:55:00-06:00
{
"code": "00",
"message": "Successful",
"orderNo": "20001mxspei394eeb7b44c2460",
"tradeNo": "141200112412131711531135",
"merchant": {
"merchantId": "20001",
"merchantName": "Smilepayz Demo Store",
"accountNo": "11420011202402290943"
},
"money": {
"currency": "MXN",
"amount": 250000
},
"transactionTime": "2024-12-13T04:11:54-06:00",
"channel": {
"paymentMethod": "SPEI",
"paymentUrl": "https://gateway.smilepayz.com/cashier/#/loading?tradeNo=141200112412131711531135",
"receiverBankName": "OPM",
"vaNumber": "646180157000000004"
},
"status": "PROCESSING"
}
{
"code": "00",
"message": "Successful",
"orderNo": "20011331546f1ca1447c69cc0caf",
"tradeNo": "1412001125102713583676303",
"merchant": {
"merchantId": "20011",
"merchantName": "Smilepayz Demo Store",
"accountNo": "11420011202402290943"
},
"money": {
"currency": "MXN",
"amount": 250000
},
"transactionTime": "2025-10-27T00:58:38-06:00",
"channel": {
"paymentMethod": "CODI",
"paymentUrl": "https://gateway.smilepayz.com/cashier/#/loading?tradeNo=1412001125102713583676303",
"qrString": "{\"TYP\":20,\"v\":{\"DEV\":\"00001618035151761092/60\"},\"ic\":{\"IDC\":\"335b075298\",\"SER\":1733687829,\"ENC\":\"mgXOeZ0ufbeSkj0rFNi3Giu2Qy8zcoAV7yA54fHDhY9kyYz2s82PQLXH+1ObjyoFnQT8QT/aEuTNYquQbTYDO+TWLUEZHrLXQcLsPJ5qaH9LqfXuLRDZAN6wpwIxAvZudKxXKk3VDpswsKPcT98K/VHrEn1zz3MHMIz0cmJsoV+kUX1ed1gr7J162JimfjtOxC/MNKbMsvqZf8f48uDImxTWxEwGtWj0on1C8bs0ZnkBibn8buY4yxRK73ixQMywmXsWxwxp8hoAd8Yh7jO02QYof0F4uehUuu1E8Q6iomEcIYtorFRBcnzrUxLEsjSzMxeDAV4nhF7faVB65UTUp/LyV7lwzPQu5EKF/XUzEeOVyAz0tTQHnbGfkkEh44L5\"},\"CRY\":\"FK0Vm7dtBI+R5tv/3oIM9kkOJLfdSQVG0y6fVQHyAcw=\"}"
},
"status": "PROCESSING",
"responseCode": "2009000",
"responseMessage": "Successful"
}
{
"code": "00",
"message": "Successful",
"orderNo": "20011f15fd99a451042d585ba32c",
"tradeNo": "1412001125102713522460381",
"merchant": {
"merchantId": "20011",
"merchantName": "Smilepayz Demo Store",
"accountNo": "11420011202402290943"
},
"money": {
"currency": "MXN",
"amount": 250000
},
"transactionTime": "2025-10-27T00:52:25-06:00",
"channel": {
"paymentMethod": "OXXO",
"paymentUrl": "https://gateway.smilepayz.com/cashier/#/loading?tradeNo=1412001125102713522460381",
"qrString": "8201880001347082"
},
"status": "PROCESSING",
"responseCode": "2009000",
"responseMessage": "Successful"
}
子订单交易与回调逻辑
墨西哥代收(如 SPEI)在渠道侧可能对同一商户订单产生多笔入账。平台约定如下:
- 下单只创建主单:首次
/v1/pay只生成一笔主交易;不会在下单时预先拆分子订单。 - 额外入账生成为子订单:后续成功入账若被识别为子单,平台会生成独立子订单,拥有独立的
tradeNo、实际入账金额、费用、结算与商户回调。 - 回调字段口径:
orderNo:始终为原始商户订单号(与主单相同)。tradeNo:本次交易的平台单号(主单或子单各自不同)。money.amount:本次入账金额(子单为实际入账金额,不一定等于主单下单金额)。
- 幂等:同一
orderNo可能收到多次成功回调。必须以tradeNo做交易级幂等,不能仅按orderNo去重,否则可能漏账或重复入账。 - 主子单相互独立:子单金额不会累计推动主单变为成功,也不会自动改写主单金额/状态。可用 交易状态查询 查看
subOrderList。
提示
每笔主单 / 子单回调均需独立验签,并返回纯文本 SUCCESS。
Notification/Callback
回调签名 ≠ 请求签名
回调里的 X-SIGNATURE 不能拿发请求那套去验。规则见 回调验签。
HTTP Request
| Field | Required | Type | Description |
|---|---|---|---|
Content-Type | M | String | application/json 请求体。 |
X-TIMESTAMP | M | String | Format: yyyy-MM-ddTHH:mm:ss±HH:mm |
X-SIGNATURE | M | String | 见 回调验签 |
Body Parameters
| Field | Required | Type | Description |
|---|---|---|---|
orderNo | M | String | 商户唯一订单号。主单与子单回调均使用同一原始商户订单号。 |
tradeNo | M | String | 平台 tradeNo。主单回调为主单号;子单回调为子单号。交易级幂等请用本字段。 |
merchantId | M | String | Smilepayz merchantId。 |
merchantName | M | String | 商户展示名。 |
subMerchantId | O | String | 可选子商户编号。 |
subMerchantName | O | String | subMerchantId 的名称。 |
paymentMethod | M | String | 通道编码(见 支付方式 文档)。 |
transactionTime | M | String | Format: yyyy-MM-ddTHH:mm:ss |
status | M | String | 订单或支付状态枚举值。 |
money | M | Object | currency 与 amount 金额对象。 |
currency | M | String | 固定为 MXN。 |
amount | M | Number | 本次交易金额(最多 2 位小数)。子单为实际入账金额。小数位见 金额 Money |
payer | O | Object | 付款人对象(见 Payer 模型)。 |
name | O | String | 收款人全名(UTF-8)。 |
Return
Important
Respond with the string SUCCESS only.
{
"orderNo": "20001mxspei394eeb7b44c2460",
"tradeNo": "141200112412131711531135",
"merchantId": "20001",
"merchantName": "Smilepayz Demo Store",
"subMerchantId": "",
"subMerchantName": "",
"paymentMethod": "SPEI",
"transactionTime": "2024-12-13T04:11:54-06:00",
"status": "SUCCESS",
"money": {
"currency": "MXN",
"amount": 250000
},
"payer": {
"name": "Juan Carlos Hernández"
}
}
{
"orderNo": "20001mxspei394eeb7b44c2460",
"tradeNo": "141200112412131711531135-01",
"merchantId": "20001",
"merchantName": "Smilepayz Demo Store",
"subMerchantId": "",
"subMerchantName": "",
"paymentMethod": "SPEI",
"transactionTime": "2024-12-13T05:22:10-06:00",
"status": "SUCCESS",
"money": {
"currency": "MXN",
"amount": 100000
},
"payer": {
"name": "Juan Carlos Hernández"
}
}
SUCCESS

