Nequi

Bamboo supports two payment flows with Nequi in Colombia: QR and Push. Both methods allow immediate mobile payment initiation through the Nequi app.

Nequi QR

Enables the payer to scan a QR code using the Nequi app to complete the transaction. The QR code is returned in the purchase response as a base64 image.


Payment Flow

  1. The payer opens the Nequi app and selects the Scan QR option from the main menu.
  2. The QR code generated by Bamboo is scanned, containing the payment amount and merchant details.
  3. Nequi prompts the user to enter their security PIN to confirm the operation.
  4. The payment summary is displayed; the payer reviews the details and taps Pay.
  5. A confirmation screen shows the transaction status, amount, date, and reference.

Request Parameters

You need to include specific fields for this payment method to work correctly.
For details on authentication, response formats, and base parameters (amount, currency, etc.), refer to the Purchase operation guide.

PropertyTypeMandatory?Description
PaymentMethodstringYesUse NEQ. See Payment Methods – Colombia.
TargetCountryISOstringYesCountry code. Must be CO.
CustomerEmailstringYesPayer’s email address.
CustomerFirstNamestringNoPayer’s first name.
CustomerLastNamestringNoPayer’s last name.
CustomerDocumentTypestringNo*Document type. See Document Types – Colombia.
CustomerDocumentNumberstringNo*Payer’s document number. Required for refunds if not sent in the purchase.
CustomerPhoneNumberstringNoOptional.
MetaDataInPaymentExpirationInMinutesnumericNoDefaults to 45 minutes (controlled by Nequi)
ℹ️

If DocumentType and DocumentNumber are not included in the purchase request, they must be provided in the refund request.


Example Request

To test this endpoint, use the API Reference or the Postman Collection

{
    "PaymentMethod": "NQQ",
    "Order": "CH2023-001",
    "Amount": 100000,
    "Currency": "COP",
    "Description": "Purchase Test",
    "TargetCountryISO": "CO",
    "Customer": {
        "FirstName": "Juan Carlos",
        "LastName": "Silva",
        "Email": "[email protected]",
        "DocumentType":"CC.CO",
        "DocumentNumber":"12345672",
        "PhoneNumber":"3188060418",
        "ReferenceCode":"123123"  
    },
    "MetaDataIn": {
        "PaymentExpirationInMinutes": "7200"
    }
}

Response Parameters

The following example shows the response to the request. For additional information about the response structure, refer to the Response parameters section of the Purchase creation guide.

The purchase is created with status PENDING. The QR code is returned in the MetadataOut.Base64Qr field.

PropertyTypeDescription
MetadataOutCodeQrstringUnique payment identifier associated with the QR.
MetadataOutBase64QrstringBase64-encoded QR image that can be displayed directly in the checkout.
MetadataOutPaymentExpirationDatestringDate and time when the QR expires. Format: DD/MM/YYYY HH:mm:ss.

Example Response

{
    "TransactionId": "79632697147789184",
    "Result": "ACTION_REQUIRED",
    "Status": "PENDING",
    "ErrorCode": null,
    "ErrorDescription": null,
    "Created": "2024-08-07T17:51:54.620",
    "AuthorizationDate": null,
    "AuthorizationCode": null,
    "Amount": 100000,
    "Currency": "COP",
    "TaxableAmount": null,
    "Tip": null,
    "Url": "https://api.stage.bamboopayment.com/Purchase/79632697147789184",
    "MetadataOut":
    {
        "CodeQr": "bancadigital-C001-10011-1131320",
        "Base64Qr": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA..."
    },
    "MetaDataIn": {
        "PaymentExpirationInMinutes": "7200"
    },
    "Action": null,
     "PaymentMethod": {
        "Brand": "NequiQR",
        "CardOwner": null,
        "Bin": null,
        "IssuerBank": null,
        "Type": "BankTransfer",
        "Expiration": null,
        "Last4": null
    }
}

In the field MetadataOut, the QR code is returned as a base64 image. Add this image inside an image HTML tag.

<img src="data:image/png;base64,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" id="qr-code-display" style="max-width: 400px;">

Result:



Nequi Push

Sends a push notification to the payer’s Nequi app. The payer can accept or reject the payment directly from their mobile device.


Payment Flow

  1. The payer enters their phone number at checkout. Bamboo sends a payment request to Nequi, which triggers a push notification on the payer’s phone with the transaction details.
  2. After tapping the notification, the Nequi app displays a pending payment screen with amount and merchant.
  3. The payer selects the source of funds (e.g., "Disponible") and taps Pay.
  4. A confirmation screen appears, summarizing the transaction.
  5. The movement detail is shown, including reference, amount, and confirmation status.

Request Parameters

You need to include specific fields for this payment method to work correctly.
For details on authentication, response formats, and base parameters (amount, currency, etc.), refer to the Purchase operation guide.

PropertyTypeMandatory?Description
PaymentMethodstringYesUse NEP. See Payment Methods – Colombia.
TargetCountryISOstringYesCountry code. Must be CO.
CustomerEmailstringYesPayer’s email address.
CustomerFirstNamestringNoPayer’s first name.
CustomerLastNamestringNoPayer’s last name.
CustomerDocumentTypestringNo*Document type. See Document Types – Colombia.
CustomerDocumentNumberstringNo*Payer’s document number. Required for refunds if not sent in the purchase.
CustomerPhoneNumberstringYesMust be 10 digits (no country prefix). Example: 3188255555.
MetaDataInPaymentExpirationInMinutesnumericNoDefaults to 45 minutes (controlled by Nequi)
ℹ️

If DocumentType and DocumentNumber are not provided in the purchase, they must be included in refund requests.


Request example

{
    "PaymentMethod": "NQP",
    "Order": "CH2023-001",
    "Amount": 100000,
    "Currency": "COP",
    "Description": "Purchase Test",
    "TargetCountryISO": "CO",
    "Customer": {
        "FirstName": "Juan Carlos",
        "LastName": "Silva",
        "Email": "[email protected]",
        "DocumentType":"CC.CO",
        "DocumentNumber":"12345672",
        "PhoneNumber":"3188060418",
        "ReferenceCode":"123123"  
    },
    "MetaDataIn": {
        "PaymentExpirationInMinutes": "7200"
    }
}

Response Parameters

Nequi generates the payment order and sends a push notification to the payer. The transaction remains PENDING until the payer accepts or rejects it from the Nequi app.

See the Response parameters section of the Purchase creation guide for full details.

PropertyTypeDescription
StatusstringCurrent transaction status. Will remain PENDING until payer confirms.
Actionobjectnull for this method.
MetadataOutobjectnull for this method.

Response example

{
    "TransactionId": "79632697147789184",
    "Result": "ACTION_REQUIRED",
    "Status": "PENDING",
    "ErrorCode": null,
    "ErrorDescription": null,
    "Created": "2024-08-07T17:51:54.620",
    "AuthorizationDate": null,
    "AuthorizationCode": null,
    "Amount": 100000,
    "Currency": "COP",
    "TaxableAmount": null,
    "Tip": null,
    "Url": "https://api.stage.bamboopayment.com/Purchase/79632697147789184",
    "MetadataOut": null,
    "MetaDataIn": {
        "PaymentExpirationInMinutes": "7200"
    },
    "Action": null,
     "PaymentMethod": {
        "Brand": "NequiPush",
        "CardOwner": null,
        "Bin": null,
        "IssuerBank": null,
        "Type": "BankTransfer",
        "Expiration": null,
        "Last4": null
    }
}


Discover the API

Once you’re familiar with how to create a purchase, you can test your integration using our API Reference