Skip to main content

Making a Deposit

A deposit allows you to collect funds from a customer using one of the supported payment methods, such as Mobile Money, Bank Transfer, or Stablecoins. The typical deposit flow consists of four steps:
  1. Create a deposit.
  2. Ask the customer to authorize the payment.
  3. Receive a webhook notification.
  4. Verify the final transaction status.

Deposit Flow


Step 1: Create a Deposit

Send a request to create a new deposit.
Request body:

Successful Response

A successful response indicates that the deposit request has been accepted. It does not mean the customer has completed the payment.

Step 2: Customer Authorization

Depending on the payment provider, the customer may need to:
  • Enter a Mobile Money PIN.
  • Approve the payment in their wallet application.
  • Complete a bank transfer.
  • Send a stablecoin transfer.
  • Complete another provider-specific authorization step.
During this time, the transaction remains in the pending state.

Step 3: Receive a Webhook

Once the provider finishes processing the payment, KryptaPay sends an event to your webhook endpoint. Example:
Always verify webhook signatures before processing events.

Step 4: Verify the Deposit

Never rely solely on the webhook. Retrieve the deposit to confirm its final status.
Example response:

Deposit Statuses


Best Practices

  • Generate a unique Idempotency-Key for every deposit request.
  • Store the KryptaPay transaction ID.
  • Use your own unique merchant reference.
  • Verify webhook signatures.
  • Retrieve the deposit before fulfilling an order.
  • Implement retry logic for temporary failures.
  • Log the X-Request-Id response header for troubleshooting.

Next Steps

Payouts

Learn how to make a withdrawal.

Webhooks

Learn how to set up webhook to get notified in real time.

Verification and Compliance

Learn how KryptaPay uses KYB and KYC verification to provide secure, transparent, and trusted payment services.