Skip to content

Search is only available in production builds. Try building and previewing the site to test it out locally.

Pay-In API overview

The Cashela Pay-In API lets you collect money from your customers with the payment methods they use every day: bank transfers, cash vouchers, mobile money and cards. You create a deposit, your customer pays it, and Cashela sends you a signed notification with the outcome and credits the net amount to your Cashela account.

How it works

  1. List countries to see where you can collect and with which payment types.
  2. List payment methods for a country and an amount. Each method comes with its fees, the total your customer pays, the amount credited to you, and the customer fields you must send.
  3. Create a deposit with the chosen payment_method and the customer’s data. The response tells you how your customer pays: usually a link to a Cashela-hosted payment page, or payment instructions.
  4. Receive the notification on your notification_url when the deposit reaches a final status, and read the deposit at any time with Get a deposit.

See Integration flow for the full sequence.

Environments

Every integration starts in sandbox and moves to production once Cashela approves your go-live request. Each environment has its own credentials: sandbox credentials never work in production, and production credentials never work in sandbox.

EnvironmentBase URLReal money
Sandboxhttps://sandbox-api.cashela.comNo
Productionhttps://production-api.cashela.comYes

All requests and responses are JSON over HTTPS. All endpoints live under /api/v1/pay-in/.

Endpoints

MethodPathWhat it does
GET/api/v1/pay-in/deposit-creation/countriesCountries and payment types available to your account
POST/api/v1/pay-in/deposit-creation/available-payment-methodsPayment methods for a country and amount, with fees and required customer fields
POST/api/v1/pay-in/deposit-creation/exchange-ratesIndicative exchange rate for a country and payment type
POST/api/v1/pay-in/deposit-creationCreates a deposit. Moves money.
GET/api/v1/pay-in/transactions/{reference}Reads a deposit and its status
POST/api/v1/pay-in/transactions/{reference}/callbackRe-sends the notification of a final deposit
POST/api/v1/pay-in/transactions/{reference}/voidVoids a card deposit before it settles. Moves money.
POST/api/v1/pay-in/transactions/{reference}/refundRefunds a card deposit, in full or in part. Moves money.
POST/api/v1/pay-in/sandbox/transactions/{reference}/simulateSandbox only. Drives a deposit to a final status

Before you start

You need:

  • A verified Cashela Business account. Sign up at cashela.com/business-home.
  • A server with HTTPS that can keep a secret and receive notifications (webhooks).

Then follow Get started to open the Developer Portal and create your sandbox API key.

Key ideas

  • The catalog decides. The countries, payment methods, fees and required customer fields depend on the country, the amount, your account and the environment. Never hard-code payment method codes: ask Get payment methods before each deposit.
  • Your server only. Your api_secret authenticates your requests and also signs the notifications Cashela sends you. Never put it in a browser or a mobile app.
  • Safe retries. Every deposit carries your own unique external_identifier. Repeating a request never creates a second deposit. See Idempotency.
  • Verify every notification. Check the X-Cashela-Signature header before trusting a notification. See Webhooks.
  • Production is stricter than sandbox. Production validates phone numbers, documents and emails more strictly. Test with realistic data for the deposit’s country. See Payer data & documents.

Support

When you contact Cashela support about a request, include the X-Trace-Id header you sent with it and the deposit reference. See Authentication.