For the complete documentation index, see llms.txt. This page is also available as Markdown.

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:

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:

3. Create Refund

[POST] /refunds

This endpoint creates a new refund for an existing payment.

Request:

Response:

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:

Response:

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.

Última actualización