Amplify
  • Amplify Documentation
  • Español
    • Introducción
    • GUIAS
      • [GUIA] Integración básica Amplify SDK (Tienda única)
      • [GUIA] Leyendo balances (Tienda única)
    • Creando una cuenta
    • Configurando tu cuenta
    • Obteniendo tus API Key
    • Obteniendo tokens de prueba
    • SDK
      • Instalacion
      • Propiedades
      • Eventos
      • Personalización
      • Interfaces
    • API
      • Intención de pago
      • Balances
      • Retiros
      • Webhooks
      • Links de Pago
      • Reembolsos
  • English
    • Introduction
    • Creating an account
    • Setting up your account
    • Getting your API Keys
    • Faucet
    • SDK
      • Installation
      • Props
      • Events
      • Customization
      • Interfaces
    • API
      • Payment intents
      • Balances
      • Withdraws
      • Webhooks
      • Refunds
Con tecnología de GitBook
En esta página
  • 1. List refunds
  • 2. Get Refund by ID
  • 3. Create Refund
  • 4. Create Partial Refunds
  1. English
  2. API

Refunds

This API provides endpoints for managing refunds related to payments. It includes the ability to create, retrieve, and list refunds.

1. List refunds

[GET] /refunds

This endpoint retrieves a list of refunds based on query parameters. It supports filtering, pagination, and sorting.

Request:

const query = {
  page: number,  // Page number for pagination
  limit: number, // Number of items per page
  query: object  // Optional filter conditions
};

Query Parameters:

  • page: The page number for pagination (optional, defaults to 1).

  • limit: The number of refunds to retrieve per page (optional, defaults to 10).

  • query: A comma-separated list of key-value pairs to filter results. The keys will be the refund fields, and values will be used to match corresponding fields (optional).

Response:

{
  "refunds": [ /* Array of refund objects */ ],
  "page": 1,
  "pageSize": 10,
  "totalPages": 5
}

Refund Object Example:

{
  "_id": "string",
  "paymentIntentId": "string",
  "paymentId": "string",
  "userId": "string",
  "receiverId": "string",
  "refundTo": "string",
  "amount": 100,
  "status": "PROCESSING",
  "createdAt": "timestamp",
  "updatedAt": "timestamp"
}

2. Get Refund by ID

[GET] /refunds/:id

This endpoint retrieves a specific refund by its ID.

Request:

  • URL Parameter:

    • id: The ID of the refund to retrieve.

Response:

{
  "_id": "string",
  "paymentIntentId": "string",
  "paymentId": "string",
  "userId": "string",
  "receiverId": "string",
  "refundTo": "string",
  "amount": 100,
  "status": "PROCESSING",
  "createdAt": "timestamp",
  "updatedAt": "timestamp"
}

3. Create Refund

[POST] /refunds

This endpoint creates a new refund for an existing payment.

Request:

{
  "paymentId": "string",// The ID of the payment to refund
  "refundTo": "string"// The address to send the refund to (must be a valid address)
}

Response:

{
  "_id": "string",
  "paymentIntentId": "string",
  "paymentId": "string",
  "userId": "string",
  "receiverId": "string",
  "refundTo": "string",
  "amount": 100,
  "status": "PROCESSING",
  "createdAt": "timestamp",
  "updatedAt": "timestamp"
}

Validation:

  • The request must include a valid paymentId and refundTo address.

  • The paymentId must correspond to a confirmed payment.

  • The refundTo address must be a valid Ethereum address (starts with "0x" and has a length of 42 characters).

  • The refund amount must not exceed the available funds in the receiver’s account.

  • Refunds cannot be processed if the payment has been withdrawn.

Error Responses:

  • 400 Bad Request: Missing required fields or invalid data (e.g., invalid address, insufficient funds).

  • 401 Unauthorized: If the user is not authenticated.

  • 404 Not Found: If the payment or refund does not exist.

  • 500 Internal Server Error: If an unexpected error occurs.

  • 500 Internal Server Error: If an unexpected error occurs.

4. Create Partial Refunds

[POST] /refunds/partial

This endpoint creates a new partial refund for an existing payment.

Request:

{
  "paymentId": "string",// The ID of the payment to refund
  "refundTo": "string",// The address to send the refund to (must be a valid address)
  "amount": "number" // The amount to be refunded
}

Response:

{
  "_id": "string",
  "paymentIntentId": "string",
  "paymentId": "string",
  "userId": "string",
  "receiverId": "string",
  "refundTo": "string",
  "amount": 100,
  "status": "PROCESSING",
  "createdAt": "timestamp",
  "updatedAt": "timestamp"
}

Validation:

  • The request must include a valid paymentId and refundTo address.

  • The paymentId must correspond to a confirmed payment.

  • The refundTo address must be a valid Ethereum address (starts with "0x" and has a length of 42 characters).

  • The refund amount must not exceed the available funds in the receiver’s account.

  • Refunds cannot be processed if the payment has been withdrawn.

Error Responses:

  • 400 Bad Request: Missing required fields or invalid data (e.g., invalid address, insufficient funds).

  • 401 Unauthorized: If the user is not authenticated.

  • 404 Not Found: If the payment or refund does not exist.

  • 500 Internal Server Error: If an unexpected error occurs.

  • 500 Internal Server Error: If an unexpected error occurs.

AnteriorWebhooks

Última actualización hace 1 mes