Skip to main content

Refunds

API Reference

Refunds are not currently supported directly within Credyt. If you need to issue refunds, you must do so directly with your payment provider (your PSP or Stripe, if you use Credyt’s built-in payments).

You can then use the Wallet Adjustments API to adjust the customer’s balance within Credyt.

Refunds with an External PSP

If you use your own PSP for payment processing:

  1. Initiate the refund through your PSP’s dashboard or API.
  2. Notify Credyt of the refunded amount using the Adjustments API. Use a unique transaction_id and specify reason: "external_refund".

Example

This subtracts $20 from the customer’s fiat account balance.

POST https://api.credyt.ai/customers/:customerId/wallet/adjustments
{
"transaction_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"account_name": "default",
"asset": "USD",
"amount": -20,
"description": "Technical failure",
"reason": "external_refund",
"expires_at": "2024-07-29T15:51:28.071Z"
}

Response

{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"created_at": "2024-07-29T15:51:28.071Z"
}

Refunds with Credyt Payments

If you use Credyt’s built-in payments processing (via Stripe):

  1. Initiate the refund in the Stripe Dashboard. Stripe handles payment reversal, receipts, and settlement.
  2. Notify Credyt of the refund through the Adjustments API, so the customer’s balance is updated.

Example

This subtracts $20 from the customer’s fiat account balance.

POST https://api.credyt.ai/customers/:customerId/wallet/adjustments
{
"transaction_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"account_name": "default",
"asset": "USD",
"amount": -20,
"description": "Technical failure",
"reason": "external_refund",
"expires_at": "2024-07-29T15:51:28.071Z"
}

Response

{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"created_at": "2024-07-29T15:51:28.071Z"
}

Best Practices

  • Always send refunds as a negative adjustment with reason: "external_refund".
  • Use a unique identifier for transaction_id that ties the refund to the original payment. The Adjustments API supports metadata, which you can use to attach identifiers or other relevant information to make reconciliation and traceability easier.
  • Keep refund amounts and currencies consistent with the original payment to avoid reconciliation issues.