Create, retrieve, and list payments for orders.
Endpoints
POST /air/payments- Create a paymentGET /air/payments/{id}- Get a single paymentGET /air/payments- List payments
Examples
# Create a payment
{:ok, response} = Travel.Flights.Payments.create(%{
order_id: "ord_123",
payment: %{type: "balance", amount: "150.00", currency: "GBP"}
})
# Get a payment
{:ok, response} = Travel.Flights.Payments.get("pay_123")
# List payments for an order
{:ok, response} = Travel.Flights.Payments.list(%{order_id: "ord_123"})
Summary
Functions
Create a payment for a pay-later order.
Get a payment by ID.
List payments with optional filtering and pagination.
Functions
@spec create(map()) :: {:ok, Travel.Types.DuffelResponse.t()} | {:error, Travel.Error.t() | term()}
Create a payment for a pay-later order.
Parameters
params- Payment parameters::order_id- (required) The order ID to pay for:payment- (required) Payment details (type,amount,currency)
Returns
{:ok, %Travel.Types.DuffelResponse{data: %Types.Payment{}}}on success{:error, %Travel.Error{}}on failure
@spec get(String.t()) :: {:ok, Travel.Types.DuffelResponse.t()} | {:error, Travel.Error.t() | term()}
Get a payment by ID.
Parameters
payment_id- The payment ID
Returns
{:ok, %Travel.Types.DuffelResponse{data: %Types.Payment{}}}on success{:error, %Travel.Error{}}on failure
@spec list(map() | nil) :: {:ok, Travel.Types.DuffelResponse.t()} | {:error, Travel.Error.t() | term()}
List payments with optional filtering and pagination.
Parameters
opts- Optional query parameters::order_id- (required) Filter by order ID:limit- Results per page (max 200):before- Cursor for previous page:after- Cursor for next page
Returns
{:ok, %Travel.Types.DuffelResponse{data: [%Types.Payment{}]}}on success{:error, %Travel.Error{}}on failure