safetypayCash) for payments at physical locations, and Transfer (safetypayTransfer) for online bank transfers.
When to Use SafetyPay
SafetyPay is ideal for:- Customers in regions without OXXO coverage.
- Expanding cash payment options beyond convenience stores.
- Customers who prefer to pay via online bank transfer without a card.
Step 1: Create a SafetyPay Payment Request
SafetyPay requires anapm_config object with channel and bank_ids to specify the payment network and collection point.
SafetyPay Cash
Usetype: "safetypayCash" and channel: "WP" for cash payments at physical locations.
SafetyPay Transfer
Usetype: "safetypayTransfer" and channel: "OL" for online bank transfer payments.
Step 2: Send the Payment Request
Send a POST request to the Process Transaction endpoint to initiate the payment:Step 3: Handle the Response
Both Cash and Transfer return aPending status with a redirect URL where the customer completes the payment.
SafetyPay Cash response
SafetyPay Transfer response
url inside next_action.redirect_to_url to complete the payment on the SafetyPay gateway. Use verify_transaction_status_url to poll the transaction status.
Step 4: Track Payment Status
SafetyPay payments follow this status flow:Pending- Waiting for the customer to complete payment at the SafetyPay gateway.Success- Payment confirmed.
Available Bank IDs - Mexico
Cash only (channel: “WP”)
Cash + Online (channel: “WP” or “OL”)
Banks listed under Cash + Online support both
channel: "WP" and channel: "OL".
Next Steps
- Set up webhooks to receive notifications when SafetyPay payments are completed.
- Learn about HTTP response codes to handle different API responses.
- Explore OXXO cash payments as an alternative cash payment method.

