Skip to main content

การรับชำระเงิน (Pay-In · เม็กซิโก)

ประมาณ 4 นาที

API Pay-in ภูมิภาค เม็กซิโก (MXN). ดู Payment methods

Request

POST/v2.0/transaction/pay-in

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

FieldRequiredTypeDescription
Content-TypeMStringapplication/json request body.
X-TIMESTAMPMStringFormat: yyyy-MM-ddTHH:mm:ss±HH:mm (e.g. Mexico CST −06:00).
X-SIGNATUREMStringSignature of JSON body (see product Signature doc).
X-PARTNER-IDMStringYour merchantID

Body Parameters

FieldRequiredTypeDescription
orderNoMString(32)Merchant-unique id
purposeMString(64)Memo to payer
merchantMObjectWraps merchantId and optional sub-merchant fields.
    merchantIdMStringSmilepayz merchantId for this call.
    merchantNameOStringMerchant display name.
    subMerchantIdOStringSub-merchant ID.
    subMerchantNameOStringName for subMerchantId.
moneyMObjectCurrency plus amount for this transaction.
    currencyMStringFixed to MXN.
    amountMNumberAmount (max 2 decimals). ดู Money
paymentMethodMStringSee Payment methods doc.
expiryPeriodONumberExpiryPeriod, default 3600.
redirectUrlOString(256)HTTPS post-pay return URL, max 256 chars.
callbackUrlOString(256)HTTPS async status URL, max 256 chars.

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

Responses

HTTP Request

FieldRequiredTypeDescription
Content-TypeMStringapplication/json request body.
X-TIMESTAMPMStringFormat: yyyy-MM-ddTHH:mm:ss±HH:mm

Body Parameters

FieldRequiredTypeDescription
codeMString00 success, other values error.
messageMStringUTF-8 human-readable result line.
orderNoMStringMerchant-unique id
tradeNoOStringSmilepayz tradeNo for this order.
merchantMObjectWraps merchantId and optional sub-merchant fields.
    merchantIdMStringSmilepayz merchantId for this call.
    merchantNameOStringMerchant display name.
    subMerchantIdOStringSub-merchant ID.
    subMerchantNameOStringName for subMerchantId.
moneyMObjectCurrency plus amount for this transaction.
    currencyMStringFixed to MXN.
    amountMNumberAmount (max 2 decimals). ดู Money
transactionTimeMStringyyyy-MM-ddTHH:mm:ss±HH:mm
channelMObjectChannel payload (paymentUrl, qrString, …).
    paymentMethodMStringSee Payment methods doc.
    paymentUrlOStringCashier URL to open for the payer.
    qrStringOStringPIX or channel copy-paste string if returned.
    receiverBankNameOStringBank / brand code when returned.
    vaNumberOStringVirtual account / reference when returned.
statusOStringOrder or payment status enum value.
responseCodeOStringChannel result code when returned (e.g. CODI / OXXO).
responseMessageOStringChannel result text when returned.
Content-type: application/json
X-TIMESTAMP: 2020-12-17T10:55:00-06:00

Sub-order transaction & callback

สำหรับการชำระเงินเข้าเม็กซิโก (เช่น SPEI) ช่องทางอาจเครดิตคำสั่งซื้อเดิมของร้านค้ามากกว่าหนึ่งครั้ง กฎของแพลตฟอร์ม:

  1. คำขอสร้างสร้างเฉพาะออเดอร์หลัก: /v1/pay ไม่แยก sub-order ล่วงหน้า
  2. เครดิตเพิ่มที่สำเร็จจะกลายเป็น sub-order: แต่ละเครดิตเพิ่มที่ระบบรับรู้จะมี tradeNo จำนวนเงิน ค่าธรรมเนียม การชำระบัญชี และ callback ของตนเอง
  3. ความหมายฟิลด์ callback:
    • orderNo: เสมอเป็นหมายเลขคำสั่งซื้อร้านค้าเดิม (เหมือนออเดอร์หลัก)
    • tradeNo: รหัสแพลตฟอร์มของธุรกรรมนี้ (ออเดอร์หลักหรือ sub-order แต่ละอันไม่ซ้ำ)
    • money.amount: จำนวนเงินของเครดิตนี้ (sub-order อาจต่างจากยอดที่ขอสร้าง)
  4. Idempotency: คุณอาจได้รับ SUCCESS callback หลายครั้งสำหรับ orderNo เดียว ใช้ tradeNo เป็นคีย์ idempotency ระดับธุรกรรม อย่าตัดซ้ำด้วย orderNo อย่างเดียว
  5. ออเดอร์หลักและ sub-order เป็นอิสระกัน: ยอด sub-order จะไม่ทำให้สถานะออเดอร์หลักเป็น SUCCESS หรือแก้ยอด/สถานะออเดอร์หลักอัตโนมัติ ดู subOrderList ใน Inquiry Status

คำแนะนำ

ตรวจลายเซ็นและตอบกลับข้อความ SUCCESS สำหรับทุก callback ของออเดอร์หลัก / sub-order

Notification/Callback

Callback signature ≠ request signature

อย่าใช้สูตร request ไปตรวจ X-SIGNATURE ของ callback ดู Callback Signature

HTTP Request

FieldRequiredTypeDescription
Content-TypeMStringapplication/json request body.
X-TIMESTAMPMStringFormat: yyyy-MM-ddTHH:mm:ss±HH:mm
X-SIGNATUREMStringดู Callback Signature

Body Parameters

FieldRequiredTypeDescription
orderNoMStringMerchant-unique id. Main and sub-order callbacks ใช้ orderNo เดิมของร้านค้า เดียวกัน
tradeNoMStringSmilepayz tradeNo ของธุรกรรมนี้ (ออเดอร์หลักหรือ sub-order) ใช้ฟิลด์นี้สำหรับ idempotency ระดับธุรกรรม
merchantIdMStringSmilepayz merchantId for this call.
merchantNameMStringMerchant display name.
subMerchantIdOStringSub-merchant ID.
subMerchantNameOStringName for subMerchantId.
paymentMethodMStringSee Payment methods doc.
transactionTimeMStringFormat: yyyy-MM-ddTHH:mm:ss
statusMStringOrder or payment status enum value.
moneyMObjectCurrency plus amount for this transaction.
    currencyMStringFixed to MXN.
    amountMNumberAmount of this credit (max 2 decimals). Sub-order ใช้ยอดที่เครดิตจริง ดู Money
payerOObjectPayer object per region rules (see Payer model).
    nameOStringBeneficiary full name (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"
    }
}