UpdateRefund
- Purpose: Used by suppliers to notify AeroHub of refund progress, including refunds in progress, refunds pending, refunds completed, refunds unavailable, etc.
- Request:
POST - Encryption:
No - FareMarket address:
/supplier/v1/api/update_refund
Request
| Parameter Name |
Type |
Required |
Description |
| apiKey |
string |
✅ |
Each supplier has its own unique apiKey, which is used to indicate the supplier’s identity. AeroHub provides it to the supplier before interface testing. |
| requestId |
string |
✅ |
Request ID, which is unique for each call in the ticket issuance process and has a length of 32 digits. |
| refundOrderNo |
string |
✅ |
AeroHub refund order number |
| purchaseOrderNo |
string |
✅ |
AeroHub order number |
| refundStatus |
string |
✅ |
Refund inquiry status: QUOTE_COMPLETED: Quoted, QUOTE_REJECTED: Quotation rejected; Refund status: PROCESSING: Refunding (the first step is to lock this status and cannot be revoked), REFUNDED_PENDING (Second step): Refunded and pending refund, REFUNDED (Third step): Refund completed, CLOSED (any step can be rejected): Closed (refund refused) |
| rejectReason |
int |
⬜️ |
Reasons for returning a rejected ticket are required: 20-Non-refundable and non-tax refundable, 21-The refund penalty is greater than the ticket amount and the order is non-refundable, 22-The flight change time is short, non-compliance and involuntary refund, you can try a voluntary refund, 23-The flight change time is short, non-compliance and involuntary refund, and voluntary refund is not possible, 24-The refund submission time limit has exceeded, 25-The flight is normal, involuntary refund is not allowed, 26-The ticket is reissued and does not qualify for involuntary refunds, 27-It is currently non-refundable and the refund submission time limit has not expired, 28-The submission type is wrong, 29-A passport is required for refund, and there is no feedback within the specified time, 30-The passenger has taken or used an alternative flight, 31-The ticket has been refunded, 32-The airline refuses to refund, 33-The supply quotation is wrong, 34-The channel intercepts the refund, 35-The passenger has rescheduled by himself, 0-Others, 1-Waiting for the airline’s refund window, automatically submitted on the specified date (pass the value in refundDate) |
| rejectReasonNote |
string |
⬜️ |
When the reason for refund or rejection is rejectReason=0, you need to note the specific explanation of this reason. |
| refundDate |
string |
⬜️ |
Resubmit date to airline when refund is due. Must be passed in when rejectReason=1, format: YYYY-MM-DD, for example, 2023-03-10 means March 10, 2023 |
| isDocumentation |
int |
⬜️ |
Whether information is required: 1 Not required, 2 Required - not provided |
| refundAmount |
array/refundAmount Element |
⬜️ |
Refund amount, refund status is: REFUNDED. This item must be returned when the refund is completed. |
| refundFeePricing |
array/refundPolicyDetail |
⬜️ |
Refund price verification information, the refund status is: QUOTE_COMPLETED: Quoted. This item must be returned when the price has been verified. |
| refundDate |
string |
⬜️ |
The time when the refund was completed, in ISO 8601 format |
array/refundAmount Element
| Parameter Name |
Type |
Required |
Description |
| refundCost |
float |
⬜️ |
The amount returned by the supplier to AeroHub,Note: The currency of this amount should be consistent with the currency used by the supplier and AeroHub for settlement, this field does not need to be returned if there is no refund. |
| refundVoucher |
float |
⬜️ |
The coupon amount returned by the supplier to AeroHub should be consistent with the amount returned by the airline to the supplier. This field does not need to be returned if no refund is given. |
| voucherCurrency |
string |
⬜️ |
The currency of the coupon should be consistent with the currency returned by the airline to the supplier. This field does not need to be returned if no refund is given. |
| voucherNote |
string |
⬜️ |
Coupon description, such as validity period and usage rules, etc. You do not need to return to this field if there is no refund. |
| passengers |
array/passengers refund Element |
⬜️ |
Refund information for each passenger |
array/passengers refund Element
| Parameter Name |
Type |
Required |
Description |
| passengerNo |
float |
✅ |
Same as the passenger serial number in the order details |
| name |
int |
✅ |
Passenger’s name, the same as the passenger’s name in the order |
| birthday |
string |
⬜️ |
Passenger’s date of birth, same as in the order |
| cardNo |
string |
⬜️ |
ID number, the same as in the order |
| refundCost |
string |
✅ |
The amount returned to AeroHub by this passenger supplier |
| refundVoucher |
string |
✅ |
The amount of coupons returned to AeroHub by this passenger supplier |
array/refundFeePricing Element
| Parameter Name |
Type |
Required |
Description |
| amount |
float |
✅ |
Total refundable amount |
| isRefundVoucher |
int |
✅ |
Whether to refund the coupon, 0 yes, 1 no |
| voucherCurrency |
string |
⬜️ |
The currency of the coupon should be consistent with the currency returned by the airline to the supplier. If isRefundVoucher returns 0, this item is required. |
| passengers |
array/passengers FeePricing Element |
⬜️ |
Price information for each passenger |
array/passengers FeePricing Element
| Parameter Name |
Type |
Required |
Description |
| passengerNo |
float |
✅ |
Passenger serial number, the same as the passenger serial number in the order details |
| name |
int |
✅ |
Passenger’s name, the same as the passenger’s name in the order |
| birthday |
string |
⬜️ |
Passenger’s date of birth, same as in the order |
| cardNo |
string |
⬜️ |
ID number, the same as in the order |
| amount |
string |
✅ |
The quoted amount for this passenger’s refund review |
Sample Request
Refund successful
{
"apiKey": "PcrNq8964iFUkE0CyVV4bhgXXX",
"requestId": "B2B171eAv8YTQ",
"refundOrderNo": "FBRF2403112526",
"purchaseOrderNo": "F1745553257834618888",
"refundStatus": "REFUNDED",
"rejectReason": null,
"refundDate": "2024-04-15T12:00:00Z",
"refundableAmount": null,
"flightNumber": null,
"isDocumentation": 1,
"documentationNote": "Please provide necessary documentation.",
"refundAmount": [
{
"refundCost": 250,
"refundVoucher": 50,
"voucherCurrency": "USD",
"voucherNote": "Expired on January 31, 2025, for personal use only.",
"passengers": [
{
"passengerNo": 0,
"name": "Doe/John",
"birthday": "19900101",
"cardNo": "ABC123456789",
"refundCost": 150,
"refundVoucher": 0
},
{
"passengerNo": 1,
"name": "Smith",
"birthday": "19910101",
"cardNo": "XYZ987654321",
"refundCost": 100,
"refundVoucher": 0
}
]
}
]
}
Quotation successful
{
"apiKey": "PcrNq8964iFUkE0CyVV4bhgXXX",
"requestId": "B2B171eAv8YTQ",
"refundOrderNo": "FBRF2403112526",
"purchaseOrderNo": "F1745553257834618888",
"refundStatus": "REFUNDED",
"rejectReason": null,
"refundDate": "2024-04-15T12:00:00Z",
"refundableAmount": null,
"flightNumber": null,
"isDocumentation": 1,
"documentationNote": "Please provide necessary documentation.",
"refundFeePricing": [
{
"amount": 300,
"isRefundVoucher": 0,
"voucherCurrency": "USD",
"passengers": [
{
"passengerNo": 0,
"name": "Doe/John",
"birthday": "19900101",
"cardNo": "ABC123456789",
"amount": 150
},
{
"passengerNo": 1,
"name": "Smith",
"birthday": "19910101",
"cardNo": "XYZ987654321",
"amount": 100
}
]
}
]
}
Response
| Parameter Name |
Type |
Required |
Description |
| code |
int |
✅ |
For the status code of AeroHub, refer to Market Errors in the general instructions. |
| msg |
string |
✅ |
For AeroHub error instructions, refer to Market Errors in General Instructions. |
Response Example
Success Response:
{
"code": 200,
"msg": "Successful"
}
Error Response
{
"code": 400,
"msg": "Failed"
}
Author:AeroHub Create time:2024-03-15 09:57
Last editor:AeroHub Update time:2026-10-20 11:28