Skip to content

List payment methods

Returns the saved payment methods on your account. Use this to obtain the identifier you pass when charging a booking to a card or PayPal agreement — see how payments work.

GET https://www.transdirect.com.au/api/members/payment-methods

The same path is served on v5 (https://api.transdirect.com.au). The v5 response omits the card_id / agreement_id fields below — it exposes only the opaque id, by design, because v5 accepts that opaque id directly wherever a payment method is needed and never asks you for a raw one.

Send your API key in the Api-Key header. No other authentication is required, and nothing needs to be enabled on your account to call this endpoint.

Terminal window
curl -H "Api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
https://www.transdirect.com.au/api/members/payment-methods
[
{
"id": "nab_123",
"type": "credit_card",
"card_id": 123,
"masked_label": "Visa ending 4242",
"is_default": false
},
{
"id": "paypal_456",
"type": "paypal",
"agreement_id": 456,
"masked_label": "PayPal (billing@example.com.au)",
"is_default": true
}
]
FieldTypeDescription
idstringThe identifier to pass as payment_method when creating a booking. Always prefixed nab_ (saved card) or paypal_ (billing agreement).
typestringcredit_card or paypal.
card_idintegerv4 only. Cards only. The raw id for the legacy payment.card_id field, so you don’t have to strip the nab_ prefix yourself. Not needed if you use payment_method.
agreement_idintegerv4 only. PayPal only. The raw id for the legacy payment.agreement_id field.
masked_labelstringHuman-readable label safe to display to end users, e.g. Visa ending 4242. Never contains full card details.
is_defaultbooleanWhether this method is flagged as the account default.

An empty array means you have no saved payment methods. If you also have no credit account, live bookings will be refused with 403 NO_PAYMENT_METHOD — see how payments work.

Pass the id verbatim as payment_method to create and confirm in one call:

{ "payment_method": "nab_123", "courier": "allied", "pickup_date": "2025-08-18" }

Or split the numeric part out to pay at confirm time:

{ "payment": { "method": "card", "card_id": 123 } }

nab_<id> maps to { "method": "card", "card_id": <id> }, and paypal_<id> to { "method": "paypal", "agreement_id": <id> } — or just read card_id / agreement_id straight off the response and skip the conversion.

Status codeMeaning
401Missing or invalid API key.
429Rate limit exceeded — see rate limits.