Skip to main content
POST
/
payments
/
{payment_id}
/
cancel-or-refund
curl --request POST \ --url https://api-sandbox.y.uno/v1/payments/{payment_id}/cancel-or-refund \ --header 'Content-Type: application/json' \ --header 'X-Idempotency-Key: <api-key>' \ --header 'private-secret-key: <api-key>' \ --header 'public-api-key: <api-key>' \ --data ' { "description": "Duplicate", "reason": "REQUESTED_BY_CUSTOMER", "merchant_reference": "AAB01-432245" } '
{ "id": "7fd485f3-bd72-45eb-a3fb-774daa3d79b6", "type": "REFUND", "status": "REFUNDED", "category": "CARD", "amount": { "captured": 0, "currency": "USD", "refunded": 0, "value": 30000 }, "merchant_reference": "0000023", "created_at": "2024-06-06T14:06:06.284443Z", "updated_at": "2024-06-06T14:06:37.984065Z", "provider_data": { "id": "YUNO_TEST_PAYMENT_GW", "transaction_id": "", "account_id": "493e9374-510a-4201-9e09-de669d75f256", "status": "", "status_detail": "", "response_message": null, "response_code": "SUCCEEDED", "iso8583_response_code": "00", "iso8583_response_message": "Approved or completed successfully", "raw_response": null, "third_party_transaction_id": null, "third_party_account_id": null }, "response_code": "SUCCEEDED", "response_message": "Transaction successful", "payment": { "id": "c3583c27-0478-4e02-8827-4d8f2121c670", "account_id": "", "description": "Test Bank of America", "country": "US", "status": "REFUNDED", "sub_status": "REFUNDED", "merchant_order_id": "0000023", "created_at": "2024-06-06T14:06:06.284443Z", "updated_at": "2024-06-06T14:06:06.284443Z", "amount": { "captured": 0, "currency": "USD", "refunded": 30000, "value": 30000 }, "additional_data": { "airline": { "pnr": "1P-2UUGJW", "legs": [ { "departure_airport": "EWR", "departure_datetime": "2014-05-12 13:05:00", "departure_airport_timezone": "-05:00", "arrival_airport": "SFO", "arrival_airport_timezone": "-08:00", "arrival_datetime": "", "carrier_code": "UA", "flight_number": "842", "fare_basis_code": "HL7LNR", "fare_class_code": "FR", "base_fare": 200, "base_fare_currency": "USD", "stopover_code": "s" } ], "passengers": [ { "first_name": "John", "last_name": "Doe", "middle_name": "A", "type": "adult", "date_of_birth": "1980-01-01", "nationality": "US", "document": { "document_type": "SSN", "document_number": "123-45-6789" }, "country": "US", "loyalty_number": "UA123456", "loyalty_tier": "Gold", "email": "johndoe@example.com", "phone": "+15555555555" } ], "ticket": null, "tickets": [ { "ticket_number": "123456", "e_ticket": false, "restricted": false, "total_fare_amount": 80, "total_tax_amount": 22, "total_fee_amount": 14, "issue": null } ] }, "order": { "fee_amount": 100, "shipping_amount": 100, "tip_amount": null, "items": [ { "id": "123AD", "name": "Skirt", "quantity": 1, "unit_amount": 29800, "category": "Clothes", "brand": "XYZ", "sku_code": "8765432109", "manufacture_part_number": "XYZ123456" } ] }, "seller_details": null } } }
Do not execute a refund while another is in progress. Wait for the current operation to complete before starting a new one.
This service allows you to cancel or refund an existing payment. Our system will identify if a cancellation or a refund is necessary based on the payment, no transaction_id is needed in this case. This service performs the following functions based on the status of the transaction:
  • Cancels the payment if it has not been captured.
  • Refunds the payment if it has been captured.
RefundsIf you fill out the amount field, the refund will be partial. Otherwise, it will create a complete refund. The funds will be refunded to the payment method that was originally charged.
Note that this request requires an X-Idempotency-Key. Check the Authentication page for more information.

Authorizations

public-api-key
string
header
default:<Your public-api-key>
required
private-secret-key
string
header
default:<Your private-secret-key>
required
X-Idempotency-Key
string
header
default:<Your X-Idempotency-Key>
required

Path Parameters

payment_id
string
required

The unique identifier of the payment (UUID, 36 chars).

Body

application/json
reason
enum<string>
required

Indicating the reason for the cancellation or refund. If set, possible values are DUPLICATE, FRAUDULENT, REQUESTED_BY_CUSTOMER, and REVERSE. Use REVERSE to request an automatic reverse of the recipient funds when a recipient is involved in the transaction.

Available options:
DUPLICATE,
FRAUDULENT,
REQUESTED_BY_CUSTOMER,
REVERSE
description
string

Description of the cancellation or refund. (MAX 255; MIN 3).

merchant_reference
string

Identification of the payment transaction defined by the merchant. If no merchant_reference is defined, the merchant_order_id of the payment will be associated to the transaction. (MAX 255; MIN 3).

amount
object

Specifies the amount object for refund.

split_marketplace
object[]

Split marketplace array of objects

simplified_mode
boolean
default:false

Indicates if we should try to refund a payment after an error/declined on the first try. It is false by default. For more information, access the guide.

response_additional_data
object

Specifies additional data for required the transaction response

customer_payer
object

Specifies customer object for payments.

payment_method
object

Specifies payment method object for payments.

Response

201

id
string
Example:

"7fd485f3-bd72-45eb-a3fb-774daa3d79b6"

type
string
Example:

"REFUND"

status
string
Example:

"REFUNDED"

category
string
Example:

"CARD"

amount
object
merchant_reference
string
Example:

"0000023"

created_at
string
Example:

"2024-06-06T14:06:06.284443Z"

updated_at
string
Example:

"2024-06-06T14:06:37.984065Z"

provider_data
object
response_code
string
Example:

"SUCCEEDED"

response_message
string
Example:

"Transaction successful"

payment
object