1. Orders
STTS OPEN API
English
  • English
  • 中文
  • Flight
    • Search and Pricing
      • Search Flights
      • Price Specified Segments
      • Get All-Cabin Prices
      • Verify a Solution
      • Get Fare and Baggage Rules
    • Orders
      • Create an Original Flight Order
      • List Flight Orders
      • Get Flight Order Details
      • Cancel a Flight Order
      • Get a Flight Order by External Order Number
      • Pay for a Flight Order
    • Refunds and Changes
      • Check Refund and Change Availability
      • Search and Price Flight Changes
      • Create a Flight Change Order
      • Query Refundable Flight Amounts
      • Create a Flight Refund Order
      • Confirm a Flight Refund Order
      • Confirm a Zero-Amount Flight Change Order
    • Services and Status
      • Query Through-Checked and Transit Baggage
      • Query Flight Ticket Status
      • Download an Electronic Ticket Itinerary
    • Account
      • Query Flight Account Balance
  • Train
    • Search and Booking
      • Search Trains
      • Check Seat Availability and Price
      • Get Booking Requirements
      • Create Train Order
    • Orders
      • Get Train Order
        GET
      • Get Order Refund and Change Conditions
        GET
      • Confirm Pre-sale Order
        POST
      • Pay Order
        POST
      • Cancel Order
        POST
    • Trains and Stations
      • Get Stop Stations by Order
      • Get Stop Stations by Train Number
      • Search Cities and Stations
      • Get Cities and Stations in Bulk
      • Get Exchange Rates
    • Refunds and Changes
      • Estimate Change Fees
      • Estimate Refund Fees
      • Request a Change
      • Request a Refund
      • Confirm Change
      • Confirm Refund
    • 12306
      • Get 12306 Contacts
      • Get 12306 Payment Form
      • Log in to 12306
      • Send 12306 SMS Code
      • Verify 12306 SMS Code
      • Edit 12306 Passenger
      • Perform 12306 Face Verification
      • Submit Foreign Passport Verification
      • Get Foreign Passport Verification Status
    • Partner Sync
      • Incrementally Sync Cities
      • Incrementally Sync Stations
    • Tickets
      • Download PDF Ticket
      • Get HTML Ticket
      • Get Tickets by Type
  • Schemas
    • request
      • request.FlightShoppingRequest
      • request.PayFlightOrderRequest
      • request.ChangeFlightOrderRequests
      • request.CreateFlightOriginOrderRequest
      • request.FlightChangeSearchRequest
      • request.RefundFlightOrderRequest
    • consts
      • consts.FlightOrderStatus
      • consts.FlightOrderType
      • consts.FlightProductType
      • consts.FlightInvoiceType
      • consts.FlightTaxType
      • consts.PassengerEligibility
    • model
      • model.FlightJourneyCore
      • model.PassengerCountRequest
      • model.ChangeSegment
      • model.PassengerFlightOrder
      • model.ChangeShoppingResult
      • model.ChangeShoppingSegment
      • model.FlightSegmentInfo
      • model.FlightCoreSegmentCache
      • model.OrderDetail
      • model.FlightPassengerTickets
      • model.PriceDetail
      • model.PriceInFlightOriginOrder
      • model.PriceInFlightChangeOrder
      • model.PriceInFlightRefundOrder
      • model.PriceInFlightVoidOrder
      • model.FlightSolutionResp
      • model.FlightJourneyResp
      • model.FlightPriceDetail
      • model.FlightPrice
      • model.FlightTax
      • model.FlightSolutionLimitation
      • model.FlightLimitAgePair
    • Schemas
      • response.RequestFlightOrderStatus
      • model.FlightChangeNotify
      • consts.CabinClass
      • consts.CommonStatus
      • response.ApiResponse-response_FlightOrderDetail-response_PriceInFlightChangeOrder
      • response.FlightOrderDetailResp
      • response.Response-string
      • consts.RefundReason
      • consts.CoreDataVerifiesStatus
      • response.FlightOrderDetail-response_PriceInFlightChangeOrder
      • consts.PassengerType
      • internal.AddCMSUserRequest
      • model.FlightChangeInfo
      • consts.Gender
      • internal.AgenciesResp
      • consts.TrainIssueWay
      • consts.TravelDocumentType
      • internal.AgencyRechargeReq
      • consts.TrainOrderStatus
      • internal.CNTrainStationResponse
      • consts.TrainOrderTicketStatus
      • internal.CNTrainStationsResponse
      • consts.TrainPassengerStatus
      • consts.FlightTicketStatus
      • model.BaggageRule
      • internal.CitiesResponse
      • consts.TrainRefundStatus
      • model.BaggageRuleDetail
      • internal.CountriesResponseItem
      • dto.PaginationList-array_resp_TrainOrderResp
      • internal.CountryResponse
      • resp.TrainOrderResp
      • model.StopOver
      • internal.CreateAgenciesRequest
      • resp.TrainOriginTicketDetail
      • internal.CreateCNTrainStationsRequest
      • req.TrainOrderListReq
      • consts.FlightChangeType
      • model.FareRule
      • internal.CreateCityRequest
      • response.Response-dto_PaginationList-array_resp_TrainOrderResp
      • model.FlightPassenger
      • model.FlightJourney
      • internal.CreateCountryRequest
      • model.CreateTrainOriginOrderReq
      • model.FlightSegmentWithCoreSegment
      • internal.CreateOrganizationsRequest
      • response.Response-resp_TrainOrderResp
      • util.Gender
      • model.CoreSegmentDetail
      • internal.ForgetPasswordRequest
      • resp.TrainChangeDetail
      • util.PassengerType
      • model.FlightScheduleChange
      • internal.GetAgencyBalanceChangesItem
      • resp.TrainChangeTicketDetail
      • util.TravelDocumentType
      • internal.GetAgencyCreditHistoriesItem
      • resp.StationDetail
      • model.FlightTicket
      • internal.GetAgencyMembersItem
      • model.ShoppingCNTrainStationsResp
      • model.OrderExtraInfo
      • req.TrainShoppingReq
      • internal.GetAgencyTransactionsItem
      • response.Response-array_model_ShoppingCNTrainStationsResp
      • resp.Seats
      • internal.GetOrganizationDetailResponse
      • util.FlightOrderStatus
      • resp.StationInfo
      • internal.GetOrganizationsByUserIDResponse
      • util.FlightOrderType
      • response.Response-array_resp_TrainShoppingResp
      • internal.GetUserInfoByEmailResponse
      • response.PriceDetailInFlightOrder-response_PriceInFlightChangeOrder
      • resp.TrainShoppingResp
      • internal.GetUserResponse
      • util.FlightProductType
      • internal.GetUsersByOrganizationIDRequest
      • response.PriceInFlightChangeOrder
      • internal.InviteUserRequest
      • response.ApiResponse-response_FlightOrderDetail-response_PriceInFlightOriginOrder
      • internal.LoginRequest
      • response.FlightOrderDetail-response_PriceInFlightOriginOrder
      • internal.LoginResponse
      • response.PriceDetailInFlightOrder-response_PriceInFlightOriginOrder
      • internal.Org4GetUserResponse
      • response.PriceInFlightOriginOrder
      • internal.Org4LoginResponse
      • response.ApiResponse-response_FlightOrderDetail-response_PriceInFlightRefundOrder
      • internal.OrganizationInviteRequest
      • response.FlightOrderDetail-response_PriceInFlightRefundOrder
      • internal.OrganizationResponse
      • response.PriceDetailInFlightOrder-response_PriceInFlightRefundOrder
      • internal.OwnerDataOfOrganization
      • response.PriceInFlightRefundOrder
      • internal.PaginationResp-internal_AgenciesResp
      • response.ApiResponse-response_FlightOrderDetail-response_PriceInFlightVoidOrder
      • internal.PaginationResp-internal_CNTrainStationsResponse
      • response.FlightOrderDetail-response_PriceInFlightVoidOrder
      • internal.PaginationResp-internal_CitiesResponse
      • response.PriceDetailInFlightOrder-response_PriceInFlightVoidOrder
      • internal.PaginationResp-internal_CountriesResponseItem
      • response.PriceInFlightVoidOrder
      • internal.PaginationResp-internal_GetAgencyBalanceChangesItem
      • internal.PaginationResp-internal_GetAgencyCreditHistoriesItem
      • internal.PaginationResp-internal_GetAgencyMembersItem
      • internal.PaginationResp-internal_GetAgencyTransactionsItem
      • internal.PaginationResp-internal_OrganizationResponse
      • internal.PaginationResp-internal_User4GetAgencyUsersResponse
      • internal.PaginationResp-internal_User4GetUsersResponse
      • internal.PaginationResp-internal_UsersByOrganizationIDResponse
      • internal.ResetPasswordRequest
      • internal.RoleForOrganization
      • internal.RoleForUser
      • internal.TransactionType
      • internal.UpdateACLRequest
      • internal.UpdateAgencyCreditReq
      • internal.UpdateAgencyUserRequest
      • internal.UpdateCNTrainStationsRequest
      • internal.UpdateCityRequest
      • internal.UpdateCountryRequest
      • internal.UpdateOrganizationsRequest
      • internal.UpdatePasswordRequest
      • internal.UpdateUserRequest
      • internal.User4GetAgencyUsersResponse
      • internal.User4GetUsersResponse
      • internal.UserDataOfAgency
      • internal.UsersByOrganizationIDResponse
      • model.BillPeriodUnit
      • model.OrganizationUserStatus
      • model.TransactionChannel
      • response.Response-any
      • response.Response-array_internal_GetOrganizationsByUserIDResponse
      • response.Response-internal_CNTrainStationResponse
      • response.Response-internal_CitiesResponse
      • response.Response-internal_CountryResponse
      • response.Response-internal_GetOrganizationDetailResponse
      • response.Response-internal_GetUserInfoByEmailResponse
      • response.Response-internal_GetUserResponse
      • response.Response-internal_LoginResponse
      • response.Response-internal_PaginationResp-internal_AgenciesResp
      • response.Response-internal_PaginationResp-internal_CNTrainStationsResponse
      • response.Response-internal_PaginationResp-internal_CitiesResponse
      • response.Response-internal_PaginationResp-internal_CountriesResponseItem
      • response.Response-internal_PaginationResp-internal_GetAgencyBalanceChangesItem
      • response.Response-internal_PaginationResp-internal_GetAgencyCreditHistoriesItem
      • response.Response-internal_PaginationResp-internal_GetAgencyMembersItem
      • response.Response-internal_PaginationResp-internal_GetAgencyTransactionsItem
      • response.Response-internal_PaginationResp-internal_OrganizationResponse
      • response.Response-internal_PaginationResp-internal_User4GetAgencyUsersResponse
      • response.Response-internal_PaginationResp-internal_User4GetUsersResponse
      • response.Response-internal_PaginationResp-internal_UsersByOrganizationIDResponse
      • sql.NullTime
    • ApiEnvelopeBase
    • ApiResponseBase
    • PayFlightOrderRequest
    • ErrorResponse
    • ItineraryRequest
    • EmptyObject
    • PaymentResponse
    • CabinClass
    • FlightOrderListResponse
    • PassengerType
    • FlightOrderPagination
    • Gender
    • FlightOrderListItem
    • TravelDocument
    • FlightOrderListSolution
    • AllianceCode
    • OrderAgencyInfo
    • TransportType
    • OrderAgencyDetail
    • RefundReason
    • JourneyInFlightOrderList
    • ChangeReason
    • SegmentInFlightOrderList
    • FlightOrderType
    • PassengerInFlightOrderList
    • FlightOrderStatus
    • AirwallexPaymentData
    • PaymentChannel
    • BalancePaymentOrderDetail
    • ConfirmationType
    • ConfirmationIata
    • PassengerInfo
    • FlightJourney
    • PassengerCount
    • AccountCode
    • ShoppingRequirements
    • ShoppingVirtualInterlineConfig
    • ShoppingConfigs
    • OpenAPIFlightShoppingReq
    • PricingReqSegment
    • FlightPricingReq
    • AllCabinPriceReq
    • SolutionValidateReq
    • FareRulesReq
    • CreateFlightOriginOrderRequest
    • PassengerForCreateOriginOrder
    • PayFlightOrderReq
    • RefundChangeAvailabilityReq
    • ChangeSearchReq
    • ChangeSearchPassenger
    • ChangeSearchJourney
    • CreateChangeOrderReq
    • ChangeSegmentItem
    • ConfirmChangeOrderReq
    • ChangeNewSegment
    • RefundMoneySearchReq
    • CreateFlightRefundOrderOpenAPIRequest
    • BaggageTransitReq
    • BaggageTransitLeg
    • BaggageTransitSegment
    • BaggageTransitStopInfo
    • TicketStatusReq
    • TicketStatusPassenger
    • DownloadAirTicketItineraryRequest
    • ConfirmationSheetPrice
    • OpenAPIShoppingResp
    • OpenAPICoreSegment
    • StopOver
    • OpenAPISolutionResp
    • OpenAPIPriceDetail
    • OpenAPILimitInfo
    • FlightLimitAgePair
    • FlightSolutionGroupInfo
    • OpenAPIPrice
    • OpenAPITax
    • OpenAPIJourneyResp
    • OpenAPISegmentInfo
    • OpenAPIBaggageRule
    • BaggageRuleDetail
    • OpenAPIBaggageRules
    • OpenAPIFareRules
    • OpenAPIFareRule
    • OpenAPIPricingResp
    • OpenAPIPricingSolutionResp
    • OpenAPIPricingPriceDetail
    • OpenAPIPricingPrice
    • OpenAPIPricingJourneyResp
    • OpenAPIPricingSegmentInfo
    • OpenAPIVerificationResp
    • OpenAPIFareRulesResp
    • OpenAPIOrderResp
    • OpenAPIOrderJourney
    • OpenAPIOrderSegment
    • OpenAPIOrderCoreSegment
    • OpenAPIOrderPassenger
    • OpenAPIOrderTicket
    • OpenAPIOrderPriceDetail
    • OpenAPIOrderPrice
    • OpenAPIOriginOrderPrice
    • OpenAPIChangeOrderPrice
    • OpenAPIRefundOrderPrice
    • OpenAPIOrderListResp
    • OpenAPIRefundChangeAvailabilityResp
    • OpenAPIRefundChangeAvailabilityPassenger
    • OpenAPIAskChangeDetail
    • OpenAPIAskRefundDetail
    • OpenAPIChangeSearchResp
    • OpenAPIChangeSolutionResp
    • OpenAPIChangePriceDetail
    • OpenAPIChangePrice
    • OpenAPIRefundMoneySearchResp
    • OpenAPIBaggageTransitLeg
    • OpenAPIBaggageTransitSegmentInfo
    • TicketStatusResp
    • TicketStatusItem
    • TicketCouponStatus
    • BalanceResp
    • TrainApiResponseBase
    • TrainErrorResponse
    • TrainConnectionRegion
    • TrainPriceBasis
    • TrainOrderStatus
    • TrainTicketStatus
    • TrainTicketType
    • TrainPassengerAttribute
    • LocalizedName
    • TrainShoppingLocation
    • TrainShoppingRequest
    • TrainStationWithDateTime
    • TrainCarrier
    • TrainShoppingFeature
    • TrainPassengerTypeInfo
    • TrainSeatInfo
    • TrainShoppingSegment
    • TrainShoppingJourney
    • TrainShoppingData
    • TrainPrice
    • TrainAvailabilityRequest
    • TrainAvailabilityData
    • TrainBookingRequirementsData
    • TrainSeatPreference
    • TrainOrderContactRequest
    • TrainOrderContact
    • TrainPassengerRequest
    • Train12306Account
    • TrainCreateOrderRequest
    • TrainCreateChangeRequest
    • TrainCreateRefundRequest
    • TrainChangeEstimateRequest
    • TrainRefundEstimateRequest
    • TrainPassenger
    • TrainOrderSegment
    • TrainOrderTicket
    • TrainOrderJourney
    • TrainOrder
    • TrainConditionFee
    • TrainCondition
    • TrainOrderConditions
    • TrainRefundEstimateItem
    • TrainRefundEstimateData
    • TrainChangeEstimateItem
    • TrainChangeEstimateData
    • TrainStopStation
    • Train12306AccountRequest
    • Train12306Contact
    • Train12306PayFormRequest
    • Train12306PayFormData
    • Train12306LoginRequest
    • Train12306PassengerInfo
    • Train12306LoginData
    • Train12306SendSmsRequest
    • Train12306SmsVerifyRequest
    • Train12306SmsSendData
    • Train12306OperationData
    • Train12306PassengerDto
    • Train12306EditPassengerRequest
    • Train12306FaceImage
    • Train12306FaceVideo
    • Train12306FaceVerifyRequest
    • Train12306ForeignPassportRequest
    • Train12306PassportProcessRequest
    • Train12306PassportCheckData
    • TrainStationInfo
    • TrainCityInfo
    • TrainStationSearchCity
    • TrainStationSearchData
    • TrainCitiesStationsData
    • TrainOrderTicketFile
    • TrainSyncRequest
    • TrainSyncCity
    • TrainSyncStation
    • TrainSyncCitiesData
    • TrainSyncStationsData
    • TrainShoppingApiResponse
    • TrainAvailabilityApiResponse
    • TrainBookingRequirementsApiResponse
    • TrainOrderApiResponse
    • TrainStopStationsApiResponse
    • TrainConditionsApiResponse
    • TrainChangeEstimateApiResponse
    • TrainRefundEstimateApiResponse
    • TrainEmptyApiResponse
    • Train12306ContactsApiResponse
    • Train12306PayFormApiResponse
    • Train12306LoginApiResponse
    • Train12306SmsSendApiResponse
    • Train12306SmsVerifyApiResponse
    • Train12306OperationApiResponse
    • Train12306PassportCheckApiResponse
    • TrainSyncCitiesApiResponse
    • TrainSyncStationsApiResponse
    • TrainTicketsApiResponse
    • TrainStationSearchApiResponse
    • TrainCitiesStationsApiResponse
    • TrainExchangeRatesApiResponse
    • ShoppingApiResponse
    • PricingApiResponse
    • VerificationApiResponse
    • FareRulesApiResponse
    • OrderApiResponse
    • OrderListApiResponse
    • RefundChangeAvailabilityApiResponse
    • ChangeSearchApiResponse
    • RefundMoneySearchApiResponse
    • BaggageTransitApiResponse
    • TicketStatusApiResponse
    • BalanceApiResponse
  1. Orders

Pay Order

POST
https://apiv1.simplifly.tech/train/openapi/v4/orders/{orderId}/payment
Pay the order using the current organization's balance. The body has no business fields and may be omitted or sent as an empty object.

Request

Authorization
API Key
Add parameter in header
code
Example:
code: ********************
API Key
Add parameter in header
timestamp
Example:
timestamp: ********************
API Key
Add parameter in header
signature
Example:
signature: ********************
or
Path Params

Header Params

Body Params application/json

Example
{}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://apiv1.simplifly.tech/train/openapi/v4/orders/TO202607150001/payment' \
--header 'code: <api-key>' \
--header 'timestamp: <api-key>' \
--header 'signature: <api-key>' \
--header 'Content-Type: application/json' \
--data '{}'

Responses

🟢200
application/json
Payment completed successfully; returns the latest order details.
Bodyapplication/json

Example
{
    "code": 0,
    "message": "Success",
    "data": {
        "customOrderId": "EXT-TRAIN-20260715-001",
        "id": "TO202607150001",
        "passengers": [
            {
                "id": 10001,
                "givenNames": "SAN",
                "surname": "ZHANG",
                "gender": "male",
                "birthday": "1990-01-15",
                "passengerType": "adult",
                "travelDocumentType": "passport",
                "travelDocumentNumber": "110101199001011234",
                "travelDocumentExpireDate": "2030-01-15",
                "nationality": "CN"
            }
        ],
        "journey": {
            "id": "train_journey_G1_20260720",
            "departureCode": "BJP",
            "arrivalCode": "SHH",
            "tripCode": "G1",
            "tripType": "High speed G",
            "seatClassId": "erdengzuo",
            "seatClassName": "Example",
            "departureDate": "2026-07-20",
            "departureTime": "09:00",
            "days": 0,
            "arrivalDate": "2026-07-20",
            "arrivalTime": "13:28",
            "duration": "PT4H28M",
            "segments": [
                {
                    "id": "segment_0",
                    "departureCode": "BJP",
                    "arrivalCode": "SHH",
                    "tripCode": "G1",
                    "tripType": "High speed G",
                    "seatClassId": "erdengzuo",
                    "seatClassName": "Example",
                    "departureDate": "2026-07-20",
                    "departureTime": "09:00",
                    "days": 0,
                    "arrivalDate": "2026-07-20",
                    "arrivalTime": "13:28",
                    "duration": "PT4H28M"
                }
            ],
            "features": [
                {
                    "code": "WIFI",
                    "name": "Wi-Fi",
                    "description": "Example"
                }
            ],
            "tickets": {
                "10001": {
                    "carNumber": "08",
                    "seatNum": "12A",
                    "status": "issued"
                }
            }
        },
        "returnJourney": {
            "id": "train_journey_G1_20260720",
            "departureCode": "BJP",
            "arrivalCode": "SHH",
            "tripCode": "G1",
            "tripType": "High speed G",
            "seatClassId": "erdengzuo",
            "seatClassName": "Example",
            "departureDate": "2026-07-20",
            "departureTime": "09:00",
            "days": 0,
            "arrivalDate": "2026-07-20",
            "arrivalTime": "13:28",
            "duration": "PT4H28M",
            "segments": [
                {
                    "id": "segment_0",
                    "departureCode": "BJP",
                    "arrivalCode": "SHH",
                    "tripCode": "G1",
                    "tripType": "High speed G",
                    "seatClassId": "erdengzuo",
                    "seatClassName": "Example",
                    "departureDate": "2026-07-20",
                    "departureTime": "09:00",
                    "days": 0,
                    "arrivalDate": "2026-07-20",
                    "arrivalTime": "13:28",
                    "duration": "PT4H28M"
                }
            ],
            "features": [
                {
                    "code": "WIFI",
                    "name": "Wi-Fi",
                    "description": "Example"
                }
            ],
            "tickets": {
                "10001": {
                    "carNumber": "08",
                    "seatNum": "12A",
                    "status": "issued"
                }
            }
        },
        "contact": {
            "name": "ZHANG SAN",
            "gender": "male",
            "email": "contact@example.com",
            "phoneRegion": "+86",
            "phone": "13800138000",
            "zipCode": "100000",
            "city": "Beijing",
            "streetAndNumber": "No. 1 Railway Street"
        },
        "status": "pre_check",
        "marketingCarrier": {
            "code": "CNRW",
            "name": {
                "en": "Beijing South",
                "zh-Hans": "Beijing South"
            },
            "apiRefundAble": true
        },
        "currency": "CNY",
        "price": {
            "ticketPrice": 553,
            "issuedTicketPrice": 550,
            "amount": 573,
            "serviceFees": 20,
            "refundTicketPrice": 500,
            "changeRefundCost": 53,
            "refundFee": 10,
            "ticketPriceDiff": 3
        },
        "priceBasis": "passenger",
        "lastError": "Supplier reservation failed"
    }
}
🟢200TrainBusinessError
Previous
Confirm Pre-sale Order
Next
Cancel Order
Built with