Overview
Operations are the core of the 88Pay API. An operation can be a payment charge (PAYIN), a cashout (PAYOUT), or any other transaction type. This guide covers how to create and manage operations.Prerequisites: You must have a valid authentication token before creating operations.
Operation Types
88Pay supports two main operation flows:- PAYIN - Receive Money
- PAYOUT - Send Money
Purpose: Accept payments from customersCommon Use Cases:
- E-commerce checkouts
- Service payments
- Subscription billing
- Invoice payments
- Credit/Debit Cards
- Cash payments (vouchers)
- Bank transfers
- Digital wallets (Nequi, Daviplata, etc.)
- Cryptocurrencies (USDT)
Create a Payment Charge (PAYIN)
Endpoint
Required Headers
Request Parameters
Operation flow type. Use
"PAYIN" for receiving paymentsPayment method codeExamples:
"CARDS", "NEQUI", "CASH", "BANK_TRANSFER", "USDT"See all method codes →Payment method categoryOptions:
"CARD", "WALLET", "CASH", "BANK", "CRYPTO"Transaction amount. Decimal values allowedExample:
50000 or 50000.50ISO 4217 currency codeExamples:
"COP", "USD", "MXN", "BRL"ISO 3166-1 alpha-3 country codeExamples:
"COL", "MEX", "BRA", "CHL"Transaction description visible to the customerExample:
"Order #12345 - Black T-Shirt"Unique identifier for the customer in your systemExample:
"user_abc123" or "cust_001"Your webhook endpoint URL to receive transaction updatesExample:
"https://yoursite.com/webhooks/88pay"Learn about webhooks →URL where the customer returns after completing payment (required for redirect-based methods like cards)Example:
"https://yoursite.com/payment/success"Example Requests
Success Response
Response Fields
Checkout page URL where you should redirect the customer to complete paymentNote: Only present for redirect-based methods (cards, some wallets)
Unique 88Pay reference for this transaction. Use this to track the payment
The customer ID you provided in the request
Transaction currency
Transaction amount
Different Payment Methods
- Cards
- Cash
- Bank Transfer
- Digital Wallets
- Crypto (USDT)
Credit/Debit Card Payments
- Redirect to
urlCheckout - Customer enters card details
- Customer completes 3D Secure if required
- Returns to
return_url - Webhook sent with final status
Create a Cashout (PAYOUT)
Endpoint
POST https://api-sandbox.88pay.io/api/transactions/cashout-bank-transferBank Transfer Payout Example
Additional Payout Parameters
Recipient’s bank account number
Account type:
"savings" or "checking"Bank identifier code. See bank codes by country →
Full name of the account holder
Account holder’s document number
Document type:
"CC" (Cédula), "NIT", "CE", "PP", etc.Complete Integration Example
Here’s a full example from token generation to payment creation:Transaction Lifecycle
Error Responses
400 Bad Request
400 Bad Request
- Missing required fields
- Invalid parameter values
- Incorrect data types
401 Unauthorized
401 Unauthorized
422 Unprocessable Entity
422 Unprocessable Entity
- Payment method not supported in specified country
- Currency not supported
- Amount outside allowed range
Best Practices
Idempotency
Store the
reference returned by 88Pay to avoid duplicate chargesWebhooks
Always implement webhooks - never rely solely on return_url for payment confirmation
Error Handling
Gracefully handle all possible error responses
Test Thoroughly
Test all payment flows in sandbox before going live

