1. Pay URLs
PayPaga V2 API
  • API Overview
    • Introduction
    • API Reference
    • Environments
    • Payment methods
    • Errors
    • Standard Codes and Values
    • Transaction Status Definitions and Lifecycle
    • Changelog
      • Format
  • OAuth2 Service
    • authenticate
      POST
    • Schemas
      • AuthRequest
      • AuthResponse
      • AuthFailed
  • PayPaga Integration API
    • Transactions Configuration
      • List available pay-in configurations.
      • List available pay-out configurations.
    • Pay-in Transactions
      • Search pay-in transactions
      • Create a pay-in transaction.
      • Retrieve a pay-in transaction.
    • Development Utilities
      • Override a pay-in transaction status
      • Override a pay-out transaction status
    • Pay-out Transactions
      • Search pay-out transactions
      • Create a pay-out transaction.
      • Retrieve a pay-out transaction.
    • Pay URLs
      • Create a hosted PayURL checkout
        POST
    • Balances
      • Retrieve merchant balance summary.
    • Catalog
      • List supported countries
      • List supported payment methods
    • Settlements
      • Search settlements
      • Retrieve settlement options
      • Retrieve settlement transactions
    • Reference Data
      • Retrieve exchange rates
      • Retrieve tax rates
    • Notifications
      • Create a notification subscription
      • List notification subscriptions
      • Retrieve a notification subscription
      • Delete a notification subscription
    • Schemas
      • MoneyAmount
      • Currency
      • Country
      • PaymentMethod
      • Product
      • OptionField
      • PayInTransactionStatus
      • PayOutTransactionStatus
      • NotificationType
      • PaginationMeta
      • MerchantOrderReference
      • MerchantTransactionReference
      • FeeMode
      • PaymentOption
      • Code
      • Message
      • ValidationErrorItem
      • ValidationErrorDetail
      • ErrorDetail
      • PayInTransaction
      • PayInTransactionListResponse
      • ReturnUrls
      • CreatePayInRequest
      • PaymentInstructions
      • CreatePayInResponse
      • PayInTransactionStatusOverrideRequest
      • PayOutTransaction
      • PayOutTransactionListResponse
      • CreatePayOutRequest
      • CreatePayOutResponse
      • PayOutTransactionStatusOverrideRequest
      • PredefinedFields
      • CreatePayURLRequest
      • CreatePayURLResponse
      • BalanceTotal
      • BalanceCountry
      • BalanceSummaryResponse
      • CountryCatalogEntry
      • PaymentMethodCatalogEntry
      • Settlement
      • SettlementsResponse
      • SettlementWindow
      • SettlementOptionsResponse
      • SettlementTransaction
      • SettlementTransactionsResponse
      • ExchangeRateQuote
      • ExchangeRatesResponse
      • TaxRate
      • ChannelType
      • NotificationSubscriptionResponse
      • ListNotificationSubscriptionsResponse
      • NotificationSubscriptionRequest
      • TransactionCallbackPayload
  • Examples
    • Pay In Examples
      • Argentina
        • Argentina CVU
      • Brazil
        • Brazil PIX
      • Chile
        • Chile Bank Transfer
        • Chile Khipu
      • Colombia
        • Colombia Dale
        • Colombia Daviplata
        • Colombia Efecty
        • Colombia Gana
        • Colombia Movii
        • Colombia Nequi
        • Colombia PSE
        • Colombia RappiPay
        • Colombia ReFacil
        • Colombia Susuerte
        • Colombia Western Union
      • Ecuador
        • Ecuador Bank Transfer
        • Ecuador Banco Guayaquil
        • Ecuador Bemovil
        • Ecuador Deuna
        • Ecuador Mi Negocio Efectivo
        • Ecuador Omniswitch
        • Ecuador RapiActivo
        • Ecuador Western Union
      • Guatemala
        • Guatemala BAM Efectivo
        • Guatemala BAM Transferencia
        • Guatemala Banco Industrial
        • Guatemala Akisi Pronet
      • Mexico
        • Mexico Pay With Cash
        • Mexico SPEI
      • Peru
        • Peru BBVA
        • Peru BCP
        • Peru BCP Efectivo
        • Peru Cell Power
        • Peru KasNet
        • Peru QR Interoperable
        • Peru Plin
        • Peru Yape
    • Pay Out Examples
      • Argentina
        • Argentina CVU
      • Brazil
        • Brazil PIX
      • Chile
        • Chile Bank Transfer
      • Colombia
        • Colombia Bank Transfer
      • Ecuador
        • Ecuador Bank Transfer
      • Guatemala
        • Guatemala Bank Transfer
      • Mexico
        • Mexico SPEI
      • Peru
        • Peru Bank Transfer
    • Schemas
      • Pay In
      • Country
      • Currency
      • PaymentMethod
      • MerchantOrderReference
      • MerchantTransactionReference
      • CreatePayOutRequest
      • ReturnUrls
      • CreatePayInRequest
      • CreatePayOutResponse
      • PaymentInstructions
      • CreatePayInResponse
  1. Pay URLs

Create a hosted PayURL checkout

Production
https://api.paypaga.com
Production
https://api.paypaga.com
POST
/v2/pay-urls
The PayPaga PayURL is a customized checkout webpage to allow the selection of a payment method, entering any required information and submitting the payment.
The workflow steps are listed below:
1.
Call OAuth 2.0 Token Generation and retrieve OAuth2.0 token.
2.
Using the OAuth2.0 token, call the Get PayURL endpoint to get a new PayPaga PayURL based on the parameters provided in the request.
3.
Redirect the user to the generated PayPaga PayURL.
4.
The PayPaga PayURL will present to the user a list of payment methods previously approved by the merchant for the specified country.
5.
Then, the user selects their preferred payment method, enters any required information and submits the payment.
6.
Upon successful submission, the payment result is displayed, including instructions for asynchronous payments. A new transaction with status of PENDING will be created in the system.

Redirect the user to the generated PayURL#

The PayURL can be loaded directly in a new tab or browser window.
In case the PayURL is going to be embedded into the merchant's website using an <iframe> use the following code:
⚠️ It is important to include the allow="clipboard-write" attribute in the <iframe> to allow the user to use the copy-to-clipboard functionality.
⚠️ Please keep in mind, if using <iframe> in your integration, certain methods (listed below) will block communication due to security purposes. If you wish to also implement these methods, new tab redirection is recommended.
Colombia: PSE, Nequi, Daviplata, RappiPay, Dale, Movii, Transfiya
Chile: Khipu
El Salvador: Banco Agrícola, Banco Cuscatlán
Guatemala: Banco Industrial, BAM Transfer
This service initiates the PayPaga PayURL flow where, if successful, returns a new PayURL to the user to be redirected to for payment completion.

Custom Payment Method List#

It is possible to narrow down the list of payment options the user can choose from, by using the parameter payment_method_codes as follows:
These are the possible scenarios:
If the list contains an invalid method, an error will occur and no PayURL will be generated.
If the list contains valid methods, the PayURL web page will show only those as payment options.
If the list contains a single valid option and that option requires additional information to be entered by the user, the PayURL will show the correspondent fields to enter that information.
If the list contains a single valid option and that option doesn't require any additional information, the PayURL won't display the payment options step. Instead, the payment request will be submitted automatically using the pre-selected payment option and the payment result will be displayed, including instructions for asynchronous payments.

Customer Data#

This API enables known customer data to be supplied to streamline the customer experience and optimize conversion by minimizing manual data entry.
Where all required customer data for a payment method is supplied and validated the customer will automatically receive instructions to complete the payment alleviating the need for any intermediate manual data entry steps.

Error codes for Create PayURL#

HTTP statusError codeDescription
400BAD_REQUESTFailed to parse the request body
400VALIDATION_ERRORRequest validation failed
400CONFIGURATION_NOT_AVAILABLENo configuration available for the requested parameters
401UNAUTHORIZEDMissing or invalid authorization token
409MERCHANT_REFERENCE_ALREADY_EXISTSMerchant transaction reference already exists
500INTERNAL_ERRORUnexpected server error

Request

Authorization
OAuth 2.0
Client Credentials
Add the parameter
Authorization
to Headers
,whose value is to concatenate the Token after the Bearer.
Example:
Authorization: Bearer ********************
Token URL: https://api.paypaga.com/oauth2/token
or
Header Params

Body Params application/jsonRequired

Examples

Responses

🟢201
application/json
PayURL created.
Headers

Bodyapplication/json

🟠400ValidationAndBadRequestError
🟠401Unauthorized
🟠409DuplicateMerchantReference
🔴500InternalError
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://api.paypaga.com/v2/pay-urls' \
--header 'DisablePartnerMock;' \
--header 'Content-Type: application/json' \
--data-raw '{
    "country": "BR",
    "currency": "BRL",
    "amount": 125.5,
    "merchant_transaction_reference": "TRX-2026-0001",
    "merchant_order_reference": "ORDER-2026-0001",
    "merchant_customer_id": "customer@email.com",
    "allowed_payment_methods": [
        "pix",
        "bank_transfer"
    ],
    "predefined_fields": [
        {
            "payment_method": "pix",
            "fields": {
                "document_number": "12345678909"
            }
        }
    ],
    "return_urls": {
        "success_url": "https://merchant.com/payment-success",
        "pending_url": "https://merchant.com/payment-pending",
        "failure_url": "https://merchant.com/payment-failure"
    }
}'
Response Response Example
201 - Example 1
{
    "transaction_id": "20240806-2010-4086-8342-c28f4979f834",
    "pay_url": "https://checkout.paypaga.com/pay/abc123",
    "expires_at": "2024-08-06T22:10:41Z"
}
Modified at 2026-06-09 15:16:31
Previous
Retrieve a pay-out transaction.
Next
Retrieve merchant balance summary.
Built with