Travel.Flights.Payments (travel v0.2.0)

Copy Markdown View Source

Create, retrieve, and list payments for orders.

Endpoints

  • POST /air/payments - Create a payment
  • GET /air/payments/{id} - Get a single payment
  • GET /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"})

@link https://duffel.com/docs/api/payments

Summary

Functions

Create a payment for a pay-later order.

Get a payment by ID.

List payments with optional filtering and pagination.

Functions

create(params)

@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

get(payment_id)

@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

list(opts \\ nil)

@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