API PAY-IN TRANSACTION
Request
The Pay-In API enables merchants to initiate payment collection transactions from customers. This API supports various payment methods for secure and efficient money collection in the Mexican market.
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 | HTTP content type specification Fixed value: application/json Required for proper request parsing |
| X-TIMESTAMP | M | String | ISO 8601 datetime format with timezone offset Format: yyyy-MM-ddTHH:mm:ss±HH:mm Example: 2020-12-17T10:55:00-06:00 Note: Must be current server time within ±5 minutes |
| X-SIGNATURE | M | String | Digital signature for request authentication See Signature Generation |
| X-PARTNER-ID | M | String | Unique merchant identifier assigned by the platform Format: Alphanumeric string Used for merchant authentication and transaction routing Please enter merchantID |
Body Parameters
| Field | Required | Type | Description |
|---|---|---|---|
| orderNo | M | String(32) | Unique transaction identifier Format: Alphanumeric string (numbers and letters only) Length: 6-32 characters Used for transaction tracking and reference |
| purpose | M | String(64) | Transaction purpose or description Format: UTF-8 encoded string Maximum length: 64 characters Used for transaction identification and reporting |
| merchant | M | Object | Merchant information container Contains merchant identification and business details See Merchant Model |
| merchantId | M | String | Unique merchant identifier assigned by the platform Format: Alphanumeric string Used for merchant authentication and transaction routing |
| merchantName | O | String | Merchant business name or display name Format: UTF-8 encoded string Used for merchant identification and reporting |
| subMerchantId | O | String | Sub-merchant identifier for multi-level merchant structures Format: Alphanumeric string Used for sub-merchant identification and reporting |
| subMerchantName | O | String | Sub-merchant business name or display name Format: UTF-8 encoded string Used for sub-merchant identification and reporting |
| money | M | Object | Transaction amount details with currency specification Contains transaction amount and currency information See Money Model |
| currency | M | String | ISO 4217 currency code specification Fixed value: MXN (Mexican Peso) Determines payment processing rules and settlement currency |
| amount | M | Number | Transaction amount in smallest currency unit Format: Integer value Example: 20000 represents MXN 20000 Range: 100-999999999 |
| paymentMethod | M | String | Payment method used for transaction processing Format: Predefined payment method codes Fixed value: SPEI Indicates the actual payment channel used See Payment Method List |
| expiryPeriod | O | Number | Transaction expiration time in seconds Format: Integer value Default: 3600 (1 hour) Maximum: 86400 (24 hours) Used to set transaction validity period |
| redirectUrl | O | String(256) | Customer redirect URL after payment completion Format: Valid HTTP/HTTPS URL Maximum length: 256 characters Used to redirect customers after payment processing |
| callbackUrl | O | String(256) | Webhook notification URL for transaction status updates Format: Valid HTTP/HTTPS URL Maximum length: 256 characters Used for real-time transaction status notifications |
Important Notes
1. Transaction ID:
orderNomust be unique across all transactions for the merchant
2. Amount Format: Amount should be provided in the smallest currency unit (centavos for MXN)
3. Timezone: All timestamps use Mexico timezone (UTC-6)
4. Payment Method: Currently supports SPEI for Mexican market
5. Expiration: Transactions expire automatically if not completed within the specified period
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
{
"merchant": {
"merchantId": "20001"
},
"money": {
"amount": 20000,
"currency": "MXN"
},
"orderNo": "200012c4c2ad5334dfwj3",
"paymentMethod": "SPEI",
"purpose": "Payment for online purchase"
}
Response
HTTP Response
| Field | Required | Type | Description |
|---|---|---|---|
| Content-Type | M | String | HTTP response content type specification Fixed value: application/json Indicates JSON response format |
| X-TIMESTAMP | M | String | ISO 8601 datetime format with timezone offset Format: yyyy-MM-ddTHH:mm:ss±HH:mm Example: 2020-12-17T10:55:00-06:00 |
Body Parameters
| Field | Required | Type | Description |
|---|---|---|---|
| code | M | String | API response status code indicating operation result Format: Two-digit string Success: "00", Error: Other codes Used for programmatic response handling |
| message | M | String | Human-readable response status description Format: UTF-8 encoded string Provides detailed information about the operation result Localized based on request language |
| orderNo | M | String | Unique transaction identifier provided in the request Format: Alphanumeric string Same as the orderNo provided in the request Used for transaction tracking and reference |
| merchant | M | Object | Merchant information container Contains merchant identification and business details See Merchant Model |
| merchantId | M | String | Unique merchant identifier assigned by the platform Format: Alphanumeric string Used for merchant authentication and transaction routing |
| merchantName | O | String | Merchant business name or display name Format: UTF-8 encoded string Used for merchant identification and reporting |
| subMerchantId | O | String | Sub-merchant identifier for multi-level merchant structures Format: Alphanumeric string Used for sub-merchant identification and reporting |
| subMerchantName | O | String | Sub-merchant business name or display name Format: UTF-8 encoded string Used for sub-merchant identification and reporting |
| money | M | Object | Transaction amount details with currency specification Contains confirmed transaction amount and currency See Money Model |
| currency | M | String | ISO 4217 currency code specification Fixed value: MXN (Mexican Peso) Determines payment processing rules and settlement currency |
| amount | M | Number | Transaction amount in smallest currency unit Format: Integer value Example: 20000 represents MXN 20000 Range: 100-999999999 |
| transactionTime | M | String | Transaction completion timestamp Format: yyyy-MM-ddTHH:mm:ss Example: 2020-12-17T10:55:00-06:00 Used for transaction timing and audit |
| channel | M | Object | Payment channel information container Contains payment method and processing details See Channel Model |
| tradeNo | O | String | Internal transaction reference number for system tracking Format: System-generated alphanumeric string Used for internal transaction management and support |
| status | O | String | Current transaction processing status Format: Predefined status codes Examples: PROCESSING, SUCCESS, FAILED, CANCELLED Indicates the current state of the transaction See Status Model |
Content-type: application/json
X-TIMESTAMP: 2020-12-17T10:55:00-06:00
{
"channel": {
"additionalInfo": {},
"paymentMethod": "SPEI",
"paymentUrl": "https://gateway.smilepayz.com/cashier/#/loading?tradeNo=141200112412131711531135",
"receiverBankName": "OPM",
"vaNumber": "684180167000008210"
},
"code": "00",
"merchant": {
"accountNo": "11420011202402290943",
"merchantId": "20001",
"merchantName": "bradytest123www"
},
"message": "Successful",
"money": {
"amount": 20000,
"currency": "MXN"
},
"orderNo": "20001394eeb7b44c2460b892f767",
"status": "PROCESSING",
"tradeNo": "141200012412131711531135",
"transactionTime": "2024-12-13T04:11:54-06:00"
}
Notification
HTTP Request
| Field | Required | Type | Description |
|---|---|---|---|
| Content-Type | M | String | HTTP request content type specification Fixed value: application/json Indicates JSON request format |
| X-TIMESTAMP | M | String | ISO 8601 datetime format with timezone offset Format: yyyy-MM-ddTHH:mm:ss±HH:mm Example: 2020-12-17T10:55:00-06:00 |
| X-SIGNATURE | M | String | Digital signature for notification authentication See Callback Signature Verification |
Body Parameters
| Field | Required | Type | Description |
|---|---|---|---|
| orderNo | M | String | Merchant transaction identifier Format: Alphanumeric string Same as the orderNo provided in the original request Used for transaction identification and verification |
| tradeNo | M | String | Internal transaction reference number for system tracking Format: System-generated alphanumeric string Used for internal transaction management and support |
| merchantId | M | String | Unique merchant identifier assigned by the platform Format: Alphanumeric string Used for merchant authentication and transaction routing |
| merchantName | M | String | Merchant business name or display name Format: UTF-8 encoded string Used for merchant identification and reporting |
| subMerchantId | O | String | Sub-merchant identifier for multi-level merchant structures Format: Alphanumeric string Used for sub-merchant identification and reporting |
| subMerchantName | O | String | Sub-merchant business name or display name Format: UTF-8 encoded string Used for sub-merchant identification and reporting |
| paymentMethod | M | String | Payment method used for transaction processing Format: Predefined payment method codes Fixed value: SPEI Indicates the actual payment channel used |
| transactionTime | M | String | Transaction completion timestamp Format: yyyy-MM-ddTHH:mm:ss Example: 2020-12-17T10:55:00-06:00 Used for transaction timing and audit |
| status | M | String | Final transaction processing status Format: Predefined status codes Examples: SUCCESS, FAILED, CANCELLED Indicates the final state of the transaction See Status Model |
| money | M | Object | Transaction amount details with currency specification Contains confirmed transaction amount and currency See Money Model |
| currency | M | String | ISO 4217 currency code specification Fixed value: MXN (Mexican Peso) Determines payment processing rules and settlement currency |
| amount | M | Number | Transaction amount in smallest currency unit Format: Integer value Example: 20000 represents MXN 20000 Range: 100-999999999 |
Return
Important Response
Notification Response: Please return only the string
SUCCESSto acknowledge receipt of the notification
{
"merchantId": "20001",
"merchantName": "test",
"money": {
"amount": 20000,
"currency": "MXN"
},
"orderNo": "20001qXTL6qYuXTkxPDPdTXJc",
"payer": {
"name": "Carlos Rodriguez"
},
"paymentMethod": "SPEI",
"status": "SUCCESS",
"tradeNo": "141200012412110650535520",
"transactionTime": "2024-12-10T17:50:54-06:00"
}
SUCCESS
