Efecty Payments

Accept cash payments through Efecty in Colombia. The buyer generates a payment reference in Web Checkout and pays it later, in cash, at an Efecty network location. The order is confirmed only after the payment is credited. You integrate only with the Web Checkout API, with no direct connection to Efecty.

This guide shows you how to create a payment intent for Efecty. It also covers how Web Checkout presents the reference to the buyer and how to resolve the final status asynchronously.

This document applies to the following country:

Colombia

How It Works

Use Efecty to reach buyers who prefer cash or don't use a card or bank account. Its key characteristics are:

  • Reference-based: Web Checkout generates a reference with payment instructions and a due date. The buyer pays it in cash at an Efecty location before it expires.
  • Single integration: you integrate only with Web Checkout. You never connect to Efecty directly.
  • Asynchronous / deferred processing: the reference is not an approved payment. The transaction stays pending until the in-person payment is confirmed. You get the final status through a webhook or by querying GET /payment-intent/{id}.

The end-to-end flow involves the buyer, your backend, and the Getnet Web Checkout API:

Before You Start

Make sure the following are in place before you integrate:

  • The seller has Efecty enabled.
  • You have generated your token as described in the Authentication document.
  • You have configured the webhook for the seller.
  • Your payments are in Colombian pesos (COP).

Step 1: Create the Payment Intent

Call the Web Checkout API to create a payment intent.

Endpoint
POST /payment-intent
Required fields
FieldTypeDescriptionExample
order_idstringUnique order reference defined by the merchant.ORDER_EFECTY_001
payment.currencystringCurrency code. Must be COP for Efecty.COP
payment.amountintegerPurchase amount in integer format, where the last 2 digits represent the cents. For countries where cents do not apply, fill in the amount with 2 zeros to the right.50000
customer.customer_idStringWe recommend the customer's document number. Use only letters and numbers, without special characters, separators or spaces.12345678912
customer.namestringCustomer's full name.Cliente Ejemplo
customer.emailstringCustomer's email address.cliente@example.com
customer.document_typestringCustomer's document type (for example, CC).CC
customer.document_numberstringCustomer's document number.123456789
Optional fields
FieldTypeDescriptionExample
configurations.success_urlstringRedirect URL in case of successful payment.https://tienda.example/exito
configurations.error_urlstringRedirect URL in case of an error during payment.https://tienda.example/error
soft_descriptorstringPayment description that appears on the customer's receipt.Tienda ES
expires_atstringPayment intent expiration.3d4h15m

Example Request

The following example creates an Efecty payment intent for a customer in Colombia.

JSON
{ "order_id": "ORDER_CO_EFECTY_001", "payment": { "currency": "COP", "amount": 5200 }, "product": [ { "product_type": "physical_goods", "title": "Zapatillas deportivas", "description": "Zapatillas Adidas Ultraboost", "value": 5200, "quantity": 1 } ], "customer": { "customer_id": "customer_co_001", "first_name": "Laura", "last_name": "Gómez", "name": "Laura Gómez", "email": "laura@example.co", "document_type": "CC", "document_number": "1032456789", "phone_number": "573001234567", "checked_email": true, "billing_address": { "street": "Carrera 7", "number": "72-41", "city": "Bogotá", "state": "Cundinamarca", "country": "CO", "postal_code": "110221" } }, "pickup_store": false, "configurations": { "success_url": "https://store.example.co/checkout/success", "error_url": "https://store.example.co/checkout/error" } }

Example 200/201 Response

A successful request returns the payment intent ID, the trade name and the redirect URL.

JSON
{ "payment_intent_id": "d4fb9559-09f3-43ac-8ba5-c0d786506ea9", "trade_name": "Tienda Colombiana", "redirect_url": "https://www.globalgetnet.com/hosted-web-checkout/eyJraWQiOi..." }

Step 2: Present the Reference to the Buyer

You don't send any additional request in this step. The buyer selects Efecty in the checkout. Web Checkout then generates and displays the following:

  • Payment instructions and the payment due date

The buyer must pay the reference in cash at an Efecty location before the due date.

Step 3: Confirm the Result

Efecty is asynchronous / deferred: generating the reference does not confirm the payment. The transaction stays pending until the buyer pays at an Efecty location and the payment is credited. Resolve the final status in one of two ways:

  • Webhook: receive the notification configured for the seller.
  • Query: call GET /payment-intent/{id} to check the current status.

When you process the result, validate the following fields:

  • payment_intent_id
  • order_id
  • payment.method
  • payment.result.status
  • amount
Confirm that the payment was credited, through the webhook and GET /payment-intent/{id}, before you deliver goods or services.

Example Response — Pending/Waiting

The following response shows a payment that is still pending.

JSON
{ "payment_intent_id": "d4fb9559-09f3-43ac-8ba5-c0d786506ea9", "checkout_id": "0db15d1e-ea8b-4560-84d2-fb3d02179542", "order_id": "ORDER_CO_EFECTY_001", "mode": "instant", "seller": { "id": "d9c99f03-025c-4251-a9f5-de73ef593523" }, "payment": { "method": "efecty", "amount": 5200, "currency": "COP", "result": { "payment_id": "9d0b7dd5-92da-4ef4-ad3b-0ba369ad0ef4", "status": "Pending" } } }

Example Response — Approved

The following response shows an authorized payment.

JSON
{ "payment_intent_id": "d4fb9559-09f3-43ac-8ba5-c0d786506ea9", "checkout_id": "0db15d1e-ea8b-4560-84d2-fb3d02179542", "order_id": "ORDER_CO_EFECTY_001", "mode": "instant", "seller": { "id": "d9c99f03-025c-4251-a9f5-de73ef593523" }, "payment": { "method": "efecty", "amount": 5200, "currency": "COP", "result": { "payment_id": "9d0b7dd5-92da-4ef4-ad3b-0ba369ad0ef4", "status": "Authorized", "transaction_datetime": "2026-03-31T14:22:45.000Z" } } }

Efecty Status Values

For Efecty, the expected flow is:

  • pending → authorized
  • pending → denied/reject
  • pending → error

Your webhook must be idempotent and handle deferred confirmations and repeated events. Release the order only after the payment is approved.