1. Transactions Status Notification
PayPaga
  • Introduction
    • Introduction - V1 API
    • API Reference
    • Environments
    • Payment methods
    • Errors
    • Standard Codes and Values
    • Changelog
  • Authorization
    • Authorization
    • OAuth 2.0 Token Generation
  • Pay In - Direct API Integration
    • Pay In - Direct API Integration
    • Pay In - Payment Options
    • Pay In - Payment Processing
    • Pay In - Query Transactions
  • Pay In - PayURL Integration
    • Pay In - PayURL Integration
    • Pay In - Create PayURL
  • Pay In - Examples
    • Pay In - Argentina
      • Pay In - Instant Transfers
    • Pay In - Brazil
      • Pay In - PIX
    • Pay In - Chile
      • Pay In - Bank Transfer
      • Pay In - Khipu
    • Pay In - Colombia
      • Pay In - Dale
      • Pay In - Daviplata
      • Pay In - Efecty
      • Pay In - Gana
      • Pay In - Movii
      • Pay In - Nequi
      • Pay In - PSE
      • Pay In - RappiPay
      • Pay In - ReFacil
      • Pay In - Susuerte
      • Pay In - Western Union
    • Pay In - Ecuador
      • Pay In - Bank Transfer
      • Pay In - Banco Guayaquil
      • Pay In - Bemóvil
      • Pay In - Deuna
      • Pay In - Mi Negocio Efectivo
      • Pay In - Omniswitch
      • Pay In - Rapi Activo
      • Pay In - Western Union
    • Pay In - El Salvador
    • Pay In - Guatemala
      • Pay In - BAM Efectivo
      • Pay In - BAM Transferencia
      • Pay In - Banco Industrial
      • Pay In - Akisi Pronet
    • Pay In - Mexico
      • Pay In - Pay With Cash
      • Pay In - SPEI
    • Pay In - Peru
      • Pay In - BBVA
      • Pay In - BCP
      • Pay In - BCP Efectivo
      • Pay In - Cell Power
      • Pay In - KasNet
      • Pay In - QR Interoperable
      • Pay In - Plin
      • Pay In - Yape
  • Pay Out - Direct API Integration
    • Pay Out - Direct API Integration
    • Pay Out - Query Transactions
    • Pay Out - Payment Processing
  • Pay Out - Examples
    • Pay Out - Argentina
    • Pay Out - Brazil
    • Pay Out - Chile
    • Pay Out - Colombia
    • Pay Out - Ecuador
    • Pay Out - Guatemala
    • Pay Out - Mexico
    • Pay Out - Peru
  • Transactions Status Notification
    • Transactions Status Notification
    • Pay In - Instant Transfers
    • Pay In - SPEI
    • How to verify callback signature
    • Signing public keys
      GET
  • Query Balance
    • Query Balance
  • Appendix
    • Transaction Status Definitions and Lifecycle
    • Assets
  1. Transactions Status Notification

Pay In - SPEI

Callback Request Parameters
ParameterDescriptionDetails
transaction_idUnique PayPaga-assigned transaction identifier—
statusCurrent transaction statusEnum values:
- Approved — Payment successfully processed (final success state)
- Declined — Payment declined during processing (final failure state)
- Error — Unexpected processing error (final failure state)
- Canceled — Transaction canceled by the provider (final failure state)
transaction_typeTransaction typeEnum values:
- Payin — Pay-in transaction
- Payout — Pay-out transaction
merchant_transaction_referenceMerchant-defined transaction identifier used for correlation- Max length: 45
- Pattern: ^[A-Za-z0-9-_]+
transaction_inputOriginal data provided by the merchant or end customer to PayPaga when initiating the payment
Examples
—
processing_outputData verified during payment processing
Examples
—
transaction_amountAmount originally requestedFor unsolicited pay-ins, this value is system-defined and matches the paid_amount field
paid_amountAmount effectively receivedFunds credited to the assigned CLABE account
unsolicited_paymentIndicates whether the pay-in was automatically generatedtrue if the transfer was received without a prior API-created transaction
Unsolicited payments can be matched to prior solicited payments using the data in the processing_output field, account number used to make the payment (account_number) and the RFC_CURP (document_number).

Callback Examples#

Unsolicited Payment
{
    "transaction_id": "20250516-1036-4c6e-9340-1d7769e556ae",
    "status": "Approved",
    "merchant_id": "50249f9c-2e0b-4d6a-bd44-0a9207b508dc",
    "transaction_type": "payin",
    "merchant_transaction_reference": "XXXXXXXX-XXXX-XXX",
    "country_code": "MX",
    "currency": "MXN",
    "payment_method_code": "BNKTR",
    "transaction_input": {
        "document_number": "20123456786",
    },
    "processing_output": {
        "document_number": "20123456786",
        "document_type": "RFC_CURP",
        "first_name": "Jon",
        "last_name": "Snow",
        "account_number": "012180001234567895",
        "bank_code": "012"
    },
    "transaction_amount": 1000,
    "paid_amount": 1000,
    "unsolicited_payment": true
}
Callback Response
Status code: 200
Body: empty
Any other status code is treated as a failed webhook request.
Retry Policy
PayPaga retries the notification using exponential backoff. The formula used is attempt ^ 4 + rand(±10%).
After all attempts have failed, a V1 Notification Failed event will be triggered to the configured channels with the payload.
To retrieve more details about the notified transaction, use the relevant Transaction Query API for the transaction type.
Previous
Pay In - Instant Transfers
Next
How to verify callback signature
Built with