Payin Virtual Account

This guide provides sample callback payloads for key Virtual Account events: successful creation and incoming payments (PayIns).

Virtual Account Creation Callback

Upon successfully creating a Virtual Account, Localpayment will send a POST request to your configured callback URL. This notification confirms the account details are active and ready to receive payments.

{
  "transactionType": "VirtualAccount",
  "data": {
    "externalId": "XXXXX",
    "internalId": "XXXXX",
    "accountNumber": "XXXXX",
    "country": "ARG",
    "currency": "ARS",
    "beneficiary": {
      "type": "INDIVIDUAL",
      "name": "Beneficiary Name",
      "lastname": "Beneficiary Lastname",
      "document": {
        "type": "XXXXX",
        "id": "XXXXX"
      },
      "bank": {
        "account": {
          "number": "0000472900016847756532"
        }
      }
    },
    "status": {
      "code": "200",
      "description": "COMPLETED",
      "detail": "Virtual account has been created"
    },
    "errors": []
  }
}  

PayIn (Payment Received) Callback

Once a payment is made to a Virtual Account and cleared, Localpayment will send a PayIn callback. Below are curated examples for different countries.

For Bank Transfers (TEF) in Mexico: The payer’s identity document information (payer.document.id ) is not yet included in the webhook notification for this payment method. Consequently, we cannot determine the payer's type (COMPANY/INDIVIDUAL) from their RFC. To provide a deterministic value, the payer.type field will be defaulted to COMPANY.

This data will become available in a future platform update.

{
  "transactionType": "PayIn",
  "externalId": "{{externalId}}",
  "internalId": "{{internalId}}",
  "paymentMethod": {
    "type": "BankTransfer",
    "code": "1630",
    "flow": "DIRECT"
  },
  "country": "MEX",
  "currency": "MXN",
  "amount": 1000,
  "accountNumber": "{{YourAccountNumber}}",
  "confirmed": {
    "currency": "MXN",
    "fxQuote": 1,
    "amount": 1000
  },
  "payment": {
    "currency": "MXN",
    "fxQuote": 1,
    "financingFee": 0,
    "amount": 1000
  },
  "localTaxes": [],
  "withHoldings": [],
  "fees": {
    "description": "Fee",
    "currency": "MXN",
    "fxSource": 1,
    "fxQuote": 1,
    "amount": 50,
    "account": "{{YourAccountNumber}}"
  },
  "status": {
    "code": "200",
    "description": "COMPLETED",
    "detail": "The payin was credited"
  },
  "beneficiary": {
    "type": "INDIVIDUAL",
    "name": "Pedro",
    "lastName": "Perez",
    "document": {
      "type": "RFC",
      "id": "LEKF8111118Z5"
    },
    "bank": {
      "account": {
        "number": "646011319800015054"
      }
    },
    "informedName": "LPV3_PayinVA"
  },
  "merchant": {
    "type": "COMPANY",
    "name": "MerchantName"
  },
  "payer": {
    "type": "INDIVIDUAL",
    "name": "José",
    "lastName": "Sandoval",
    "document": {
      "type": "ND",
      "id": "ND"
    },
    "email": "NA",
    "bank": {
      "name": "Sistema de Transferencias y Pagos",
      "code": "646",
      "branch": {},
      "account": {
        "type": "C",
        "number": "646010319800001674"
      }
    }
  },
  "date": {
    "creationDate": "2024-02-19T20:18:30.373",
    "processedDate": "2024-02-19T20:18:30.601"
  },
  "errors": [],
  "referenceCode": "C2VV-MVVN-QHFI",
  "tracking": {
    "id": "lpv3_1111-19feb2024-2400",
    "reference": "999999",
    "concept": "concepto pago LPV3_4707"
  }
}

Last updated

Was this helpful?