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

退款

Atlas API 退款端点参考,用于获取退款报价、提交退款请求并跟踪退款处理状态。

💬 需要帮助? 如果遇到问题,请在帮助中心咨询 Eva,快速获取诊断建议。

咨询 Eva

退款标准流程为 refundQuotation.dorefund.doqueryRefundOrders.do

先获取最新退款报价,再提交退款,并持续查询最终状态。

常见问题

何时应使用退款而不是作废?

当作废窗口已过,或订单需要走退款流程时,使用退款。

订单仍符合航司作废条件时,应使用作废路径。

提交退款前应确认什么?

确认原始 orderNo 正确、行程信息完整,并且最新退款报价仍然有效。

流程要求时,还应确认出票已完成。

退款流程中应保留哪些标识符?

提交退款时保留最新的 refundOfferId

提交后保留 refundCode,并使用 queryRefundOrders.do 跟进最终状态。

相关指南

使用退款了解完整退款流程和资格条件。

订单仍可能作废时,先使用作废确认正确路径。

Refund Quotation

post

Dependency No preceding function needs to be carried out.

Introduction

The Refund section includes a series of steps required for refunds, including requesting a refund quote, submitting the refund, and returning the refund status and results. This service supports the submission of requests for cancellation that require Atlas to process or for refunds that need to be executed by Atlas. It also allows a variety of cancellation and refund types, including voluntary, involuntary and void, etc.

Features

  • Refund reason: Voluntary, Involuntary, Void

  • Service Level: ◦ Our refund quotations fall into three scenarios: a. We can obtain an accurate quotation from the airline and will quote it directly to you; b. We cannot obtain an accurate quotation through the airline. You can still submit the refund request, then we will process the refund, but the refund amount will be based on the actual amount refunded by the airline; c. Unrefundable ◦ Our refund service includes the below steps, a. Atlas submits the refund request to the airline: We provide a service time guarantee; b. Airline processes the refund request and responds with the result, and airline executes the refund. The duration for 2 steps depends on the airline's processing speed, and we will provide an estimated reference time based on our experience in handling such cases.

Please note the below while initiating a refund transaction.

  1. Refund of either inbound or outbound sector: The full ticket needs to be refunded. Only outbound OR inbound sector cannot be refunded. Please contact the airline for the same.

  2. Refund for a partially used itinerary: Partially used itinerary cannot be refunded. Please contact the airline for the same.

  3. Refund for a specific passenger: We support the refund of a specific passenger in an itinerary. For example, if there are 3 passengers and only one of them is to be refunded, please send us your refund request.

  4. Apart from voluntary, involuntary and void, we currently do not support other types of refunds, such as medical or death refunds. Please contact customer service for manual assistance.

  5. The customer is responsible to check whether the traveler has already made ancillary purchase in the transaction.

  6. No email notifications will be sent for refunds rejected by Atlas.

Endpoint: https://sandbox.atriptech.com/refundQuotation.do

Header parameters
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Accept-EncodingstringRequiredDefault: gzipExample: gzip
x-atlas-client-idstringRequiredDefault: <YOUR_CLIENT_ID>Example: <YOUR_CLIENT_ID>
x-atlas-client-secretstringRequiredDefault: <YOUR_CLIENT_SECRET>Example: <YOUR_CLIENT_SECRET>
Body
orderNostring · nullableRequired

Atlas original order number. You can choose to request either orderNo or both airlinePNR and carrier. If you use orderNo, the airlinePNR and carrier fields may be null.

airlinePNRstring · nullableRequired

The record locator of the airline. You can choose to request either orderNo or both airlinePNR and carrier. If you use airlinePNR and carrier, the orderNo field may be null.

carrierstring · nullableRequired

2 character IATA airline code. you can choose to request either orderNo or both airlinePNR and carrier. If you use airlinePNR and carrier, the orderNo field may be null.

Responses
200Success
application/json
statusinteger · enumRequired

Status code. 0 : Success 801:Order not found for refund. Check the original main ticket order number. 802:Child cannot travel alone on this booking. Contact airline directly for resolution. 803:Refund already submitted for this passenger or segment. Query refund status instead. 804:All segments of the same PNR must be submitted together. Include all segments and retry. 8041:Segment not found in this order. Verify segment details match the original booking. 805:refundOfferId expired. Call refundOffer.do again for a fresh ID, then resubmit. 806:Please submit Self Refund instead. 807:Passenger not found in this order. Verify passenger details match the original booking. 808:This ticket is non-refundable per airline policy. 809:Order not yet ticketed. Wait until orderQuery.do returns order_status=2 before refunding. 810:Invalid request parameters 811:Incomplete itinerary: all legs/segments required. Resubmit with full round-trip or connection. 812:Refund passenger details are inconsistent with the original booking 813:Illegal refund offer state 814:Refund submission already in progress. Wait before retrying. 815:Ticket not found. Verify ticket number and order number. 816:Refund already submitted for this order. Query refund status instead of resubmitting. 817:Refund already submitted for this order. Query refund status instead of resubmitting. 818:Refund already submitted for this order. Query refund status instead of resubmitting. 819:Refund claim not supported for this payment method. Use an alternative refund method. 820:Ticket already used — cannot refund a flown segment. 821:Refund deadline exceeded. This ticket is no longer eligible for refund. 822:Refund deadline exceeded. This ticket can no longer be refunded. 823:Refund must apply to all passengers — partial refund not allowed. Include all pax and retry. 824:Wrong orderNumber: use the main ticket order, not the ancillary order number. 825:For voluntary refunds after departure, submit a refund booking through the Flight Deck. 826:Unable to confirm airline tax refund status. Refund request cannot be processed. 840:Client cancellation criteria not met. Check account cancellation policy. 841:Refund not support the payment method. Please contact the airline directly for resolution. 842:Atlas does not currently support REFUND service for the airline or route of this booking. 843:Atlas does not currently support refund service for the airline or route of this booking.

Possible values:
msgstring · nullableOptional

Error message The ‘msg’ element is for description of the results. Please do not use this field to check the success or failure of the request. Only use the ‘status’ code to check the result.

fastConfirmationinteger · enumRequired

Fast confirmation depends on whether the airline supports auto fulfillment. 0 for False, 1 for True.

Possible values:
expectedConfirmationDatestringRequired

Expected date of getting airline refund confirmation. The format is yyyyMMdd.

Example: 20241217
expectedRefundDatestringRequired

Expected date of getting refund. The format is yyyyMMdd.

refundQuoteTypestring · enumRequired

Type of refund quote:

  • AccurateQuote:quotation based on the calculated amount.
  • CannotQuote: quotation is unknown and will be according to the airline's rates
Possible values:
refundOfferIdstringRequired

Refund offer id for this quotation which can be used for the coming refund call.

refundMethodstring · enumRequired

Refund method: CashBackToOriginalPayment or Voucher.

  • CashBackToOriginalPayment: Refund cash back to the original form of payment.
  • Voucher: Refund in the form of a voucher.
Possible values:
orderNostringRequired

Original order number

isRefundablebooleanRequired

True : Refundable False: Non-Refundable true or false

post/refundQuotation.do
200Success

Make a Refund

post

Dependency Refund quotation function should be called in prior of this call

Endpoint: https://sandbox.atriptech.com/refund.do

Header parameters
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Accept-EncodingstringRequiredDefault: gzipExample: gzip
x-atlas-client-idstringRequiredDefault: <YOUR_CLIENT_ID>Example: <YOUR_CLIENT_ID>
x-atlas-client-secretstringRequiredDefault: <YOUR_CLIENT_SECRET>Example: <YOUR_CLIENT_SECRET>
Body
orderNostring · nullableRequired

Atlas original order number. You can choose to request either orderNo or both airlinePNR and carrier. If you use orderNo, the airlinePNR and carrier fields may be null.

airlinePNRstring · nullableRequired

The record locator of the airline. You can choose to request either orderNo or both airlinePNR and carrier. If you use airlinePNR and carrier, the orderNo field may be null.

carrierstring · nullableRequired

2 character IATA airline code. you can choose to request either orderNo or both airlinePNR and carrier. If you use airlinePNR and carrier, the orderNo field may be null.

displayCurrencystring · nullableOptional

The alternative currency in which the fare and taxes amount needs to be displayed. The 3-letter currency code should be entered.

refundOfferIdstring · nullableRequired

Get this from the refund quotation response. You can request with refundOfferId or refundRequestList. If you use refundRequestList, the field refundOfferId is null.

Responses
200Success
application/json
statusinteger · enumRequired

Status code. 0 : Success 801:Order not found for refund. Check the original main ticket order number. 802:Child cannot travel alone on this booking. Contact airline directly for resolution. 803:Refund already submitted for this passenger or segment. Query refund status instead. 804:All segments of the same PNR must be submitted together. Include all segments and retry. 8041:Segment not found in this order. Verify segment details match the original booking. 805:refundOfferId expired. Call refundOffer.do again for a fresh ID, then resubmit. 806:Please submit Self Refund instead. 807:Passenger not found in this order. Verify passenger details match the original booking. 808:This ticket is non-refundable per airline policy. 809:Order not yet ticketed. Wait until orderQuery.do returns order_status=2 before refunding. 810:Invalid request parameters 811:Incomplete itinerary: all legs/segments required. Resubmit with full round-trip or connection. 812:Refund passenger details are inconsistent with the original booking 813:Illegal refund offer state 814:Refund submission already in progress. Wait before retrying. 815:Ticket not found. Verify ticket number and order number. 816:Refund already submitted for this order. Query refund status instead of resubmitting. 817:Refund already submitted for this order. Query refund status instead of resubmitting. 818:Refund already submitted for this order. Query refund status instead of resubmitting. 819:Refund claim not supported for this payment method. Use an alternative refund method. 820:Ticket already used — cannot refund a flown segment. 821:Refund deadline exceeded. This ticket is no longer eligible for refund. 822:Refund deadline exceeded. This ticket can no longer be refunded. 823:Refund must apply to all passengers — partial refund not allowed. Include all pax and retry. 824:Wrong orderNumber: use the main ticket order, not the ancillary order number. 825:For voluntary refunds after departure, submit a refund booking through the Flight Deck. 826:Unable to confirm airline tax refund status. Refund request cannot be processed. 840:Client cancellation criteria not met. Check account cancellation policy. 841:Refund not support the payment method. Please contact the airline directly for resolution. 842:Atlas does not currently support REFUND service for the airline or route of this booking. 843:Atlas does not currently support refund service for the airline or route of this booking.

Possible values:
msgstring · nullableOptional

Error message The ‘msg’ element is for description of the results. Please do not use this field to check the success or failure of the request. Only use the ‘status’ code to check the result.

displayCurrencystring · nullableOptional

The alternative currency in which the fare and taxes amount needs to be displayed. The 3-letter currency code should be entered.

fastConfirmationinteger · enumRequired

Fast confirmation depends on whether the airline supports auto fulfillment. 0 for False, 1 for True.

Possible values:
expectedConfirmationDatestringRequired

Expected date of getting airline refund confirmation. The format is yyyyMMdd.

Example: 20241217
expectedRefundDatestringRequired

Expected date of getting refund. The format is yyyyMMdd.

refundQuoteTypestring · enumRequired

Type of refund quote:

  • AccurateQuote:quotation based on the calculated amount.
  • CannotQuote: quotation is unknown and will be according to the airline's rates
Possible values:
refundOfferIdstringRequired

Refund offer id for this quotation which can be used for the coming refund call.

refundMethodstring · enumRequired

Refund method: CashBackToOriginalPayment or Voucher.

  • CashBackToOriginalPayment: Refund cash back to the original form of payment.
  • Voucher: Refund in the form of a voucher.
Possible values:
orderNostringRequired

Original order number

isRefundablebooleanRequired

True : Refundable False: Non-Refundable true or false

refundStatusintegerRequired

The present status of the refund. The options are: 0: Atlas Processing 1: Airline Processing (Submitted to airline by Atlas) 2: Refunded 3: Airline Refunding 4: Rejected 5: Fullfillment Done 6: Withdrew If the ticket is paid by deposit: the status can be 0,1,2,3,4 If the ticket is paid by VCC pass through: the status can be 0,1,4,5,6 Withdrew is only in the refund claim

refundCodestringRequired

Refund order number generated for this refund request

cancelReasonstring · nullableOptional

The reason why the refund was cancelled. The refund reasons are: Does not match airline policy There is no schedule change from the airline side. Please refer the ticket Fare Rules available in ATRIP flight deck for cancellation charges. Voluntary Cancellation - Non-Refundable As per airline policy, only voucher refund is available for the ticket Refund request cancelled by the user Travel has been completed by the passenger Refund not yet received from the airline. Please try again later.

refundReasonstring · enum · nullableOptional

Refund reason 0: Involuntary 1: Voluntary 4: Void

Possible values:
post/refund.do
200Success

Query Refund Status

post

Dependency No preceding function needs to be carried out.

Endpoint: https://sandbox.atriptech.com/queryRefundOrders.do

Header parameters
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Accept-EncodingstringRequiredDefault: gzipExample: gzip
x-atlas-client-idstringRequiredDefault: <YOUR_CLIENT_ID>Example: <YOUR_CLIENT_ID>
x-atlas-client-secretstringRequiredDefault: <YOUR_CLIENT_SECRET>Example: <YOUR_CLIENT_SECRET>
Body
refundCodestringRequired

The code of the refund transaction received in the refund.do response.

orderNostring · nullableRequired

Atlas original order number. You can choose to request either orderNo or both airlinePNR and carrier. If you use orderNo, the airlinePNR and carrier fields may be null.

airlinePNRstring · nullableRequired

The record locator of the airline. You can choose to request either orderNo or both airlinePNR and carrier. If you use airlinePNR and carrier, the orderNo field may be null.

carrierstring · nullableRequired

2 character IATA airline code. you can choose to request either orderNo or both airlinePNR and carrier. If you use airlinePNR and carrier, the orderNo field may be null.

displayCurrencystring · nullableOptional

The alternative currency in which the fare and taxes amount needs to be displayed. The 3-letter currency code should be entered.

Responses
200Success
application/json
statusintegerRequired

Status code. 0 : Success 801:Order not found for refund. Check the original main ticket order number. 802:Child cannot travel alone on this booking. Contact airline directly for resolution. 803:Refund already submitted for this passenger or segment. Query refund status instead. 804:All segments of the same PNR must be submitted together. Include all segments and retry. 8041:Segment not found in this order. Verify segment details match the original booking. 805:refundOfferId expired. Call refundOffer.do again for a fresh ID, then resubmit. 806:Please submit Self Refund instead. 807:Passenger not found in this order. Verify passenger details match the original booking. 808:This ticket is non-refundable per airline policy. 809:Order not yet ticketed. Wait until orderQuery.do returns order_status=2 before refunding. 810:Invalid request parameters 811:Incomplete itinerary: all legs/segments required. Resubmit with full round-trip or connection. 812:Refund passenger details are inconsistent with the original booking 813:Illegal refund offer state 814:Refund submission already in progress. Wait before retrying. 815:Ticket not found. Verify ticket number and order number. 816:Refund already submitted for this order. Query refund status instead of resubmitting. 817:Refund already submitted for this order. Query refund status instead of resubmitting. 818:Refund already submitted for this order. Query refund status instead of resubmitting. 819:Refund claim not supported for this payment method. Use an alternative refund method. 820:Ticket already used — cannot refund a flown segment. 821:Refund deadline exceeded. This ticket is no longer eligible for refund. 822:Refund deadline exceeded. This ticket can no longer be refunded. 823:Refund must apply to all passengers — partial refund not allowed. Include all pax and retry. 824:Wrong orderNumber: use the main ticket order, not the ancillary order number. 825:For voluntary refunds after departure, submit a refund booking through the Flight Deck. 826:Unable to confirm airline tax refund status. Refund request cannot be processed. 840:Client cancellation criteria not met. Check account cancellation policy. 841:Refund not support the payment method. Please contact the airline directly for resolution. 842:Atlas does not currently support REFUND service for the airline or route of this booking. 843:Atlas does not currently support refund service for the airline or route of this booking.

msgstring · nullableOptional

Error message

post/queryRefundOrders.do
200Success

Last updated

Was this helpful?