Skip to content
Status

Get a payment

GEThttps://app.shuttleglobal.com/c/api/instances/{instance_key}/payments/{payment_id}

GET
/payments/{payment_id}

Retrieve details of a specific payment. You can expand additional related objects using the expand parameter.

Available expand options:

  • contract
  • transaction
  • parts
  • payment_method
payment_id
required
string

The payment’s ID (pay_...), capture ID (ca_...) or transaction ID (tr_...), or the alt_key you gave it (case-insensitive). An ID must be for a payment, capture or authorisation, otherwise 404 Payment not found. An alt_key returns the newest record with that key.

expand
string

Related objects to include in the response

Payment details

Media typeapplication/json
object
payment
object

Payment details

object
id
string
e.g. "pay_11842_10000"

Payment identifier

alt_key
string
e.g. "1234"

Your supplied payment reference

description
string
e.g. "Invoice 1234"

Payment description

source
string · enum
e.g. "MOTO"

Payment source

Allowed values: MOTO ECOMMERCE RECURRING
action
string · enum
e.g. "PAYMENT"

Payment action type

Allowed values: PAYMENT REFUND AUTH CAPTURE VOID
status
string · enum
e.g. "SUCCESS"

The status of the payment:

  • SUCCESS - The payment was approved
  • PENDING - The payment is still in progress
  • DECLINED - The payment was declined
  • REQAUTH - The payment requires authorization step (e.g. 3D secure)
  • INVALID_PAYMENT_METHOD - Invalid payment method used
  • UNRESOLVED - No conclusive approval/decline received
  • UNATTRIBUTED - Success but internal recording issue
Allowed values: SUCCESS PENDING DECLINED REQAUTH INVALID_PAYMENT_METHOD UNRESOLVED UNATTRIBUTED
gateway_status
string
e.g. "APPROVED"

Category or error message from the gateway

gateway_reference
string
e.g. "ch_1GVaEEFi2CnH4uN3ouw69fw3"

Gateway’s identifier for the transaction

authorisation_code
string
e.g. "pi_1GVaEEFi2CnH4uN355ZdZvk5 (TEST)"

Authorization code from the gateway

reference
string
e.g. "REF-00010000"

Customer-facing reference (e.g., BOLT-123445)

amount
string
e.g. "100"

Payment amount

balance
string
e.g. "100"

Payment amount less any refunds

currency
string
e.g. "GBP"

Payment currency in ISO format

resolved
string · date-time

When the payment was resolved

sub_status
string · enum
e.g. "CUSTOMER_ACTION_REQUIRED"

Sub-status of the payment, present when the gateway is waiting for someone to act. CUSTOMER_ACTION_REQUIRED means the customer still has something to do - e.g. a bank transfer or Multibanco payment stays PENDING until they make the transfer or pay the voucher. MERCHANT_ACTION_REQUIRED is reserved for future use. Omitted and NO_ACTION_REQUIRED mean the same thing.

Allowed values: NO_ACTION_REQUIRED CUSTOMER_ACTION_REQUIRED MERCHANT_ACTION_REQUIRED
sub_status_reason
string
e.g. "follow_bank_transfer_instructions"

Free-text description of the sub-status, e.g. follow_bank_transfer_instructions, follow_voucher_instructions or partially_funded. Descriptive only - not searchable.

target_date
string · date-time
e.g. "2020-04-13T00:00:00.000Z"

Intended payment date. Present only when the payment was created ahead of its target date because the payment method requires gateway advance notice (e.g. SEPA/BACS/GoCardless/Stripe ACH). This is the target date, not the settlement date, and is omitted for payment methods that charge on the due date.

settle_currency
string
e.g. "GBP"

Settlement currency if different from transaction currency

settle_gross_amount
string
e.g. "100"

Gross amount in settlement currency

settle_net_amount
string
e.g. "96.9"

Net amount in settlement currency after fees

settle_fee_amount
string
e.g. "3.1"

Processing fees in settlement currency

gateway
string
e.g. "gw_11842_10000"

Gateway used for processing

account
string
e.g. "acc_11842_10000"

Associated account ID

payment_method
string
e.g. "pm_11842_10000"

Payment method ID used

contract
string
e.g. "co_11842_10000"

Associated contract ID

channel
string
e.g. "ch_11842_10001"

Processing channel

initiative
string
e.g. "in_11842_10000"

Initiative ID

designation
string
e.g. "des_11842_10000"

Designation ID

legal_entity
string
e.g. "le_11842_10000"

Legal entity ID

created
string · date-time
e.g. "2020-04-08T09:29:48.000Z"

Creation timestamp

updated
string · date-time
e.g. "2020-04-08T09:29:52.000Z"

Last update timestamp

processed
string · date-time
e.g. "2020-04-08T09:29:51.000Z"

Processing timestamp

gateway_metadata
object

Gateway-specific data (varies by gateway)

object
payment_method_used_token
boolean
e.g. false

Whether a tokenized payment method was used

recurring
boolean
e.g. false

Whether this is a recurring payment

frequency
string · enum
e.g. "MONTHLY"

Frequency for recurring payments

Allowed values: ONEOFF WEEKLY FORTNIGHTLY BIMONTHLY MONTHLY QUARTERLY BIANNUALLY ANNUALLY
occurrences
integer
e.g. 12

Number of planned occurrences for recurring payments

browser_ip_address
string
e.g. "212.161.80.4"

IP address of the browser that initiated the payment

contract
object

Associated contract details

object
id
string
e.g. "co_11842_10000"

Contract identifier

account
string
e.g. "acc_11842_10000"

Associated account ID

alt_key
string
e.g. "1234"

Your reference for this contract

amount
string
e.g. "100"

Contract amount

currency
string
e.g. "GBP"

Contract currency

description
string
e.g. "Invoice 1234"

Contract description

status
string · enum
e.g. "COMPLETED"

Status of the contract

Allowed values: COMPLETED ACTIVE PENDING
recurring
boolean
e.g. false

Whether this is a recurring contract

payment_method
string
e.g. "pm_11842_10000"

Payment method ID used

created
string · date-time
e.g. "2020-04-08T09:29:48.000Z"

Creation timestamp

updated
string · date-time
e.g. "2020-04-08T09:29:52.000Z"

Last update timestamp

initiated
string · date-time
e.g. "2020-04-08T09:29:48.000Z"

Initiation timestamp

completed
string · date-time
e.g. "2020-04-08T09:29:52.000Z"

Completion timestamp

last_transaction
string
e.g. "tr_11842_10000"

The last transaction ID for this contract

frequency
string · enum

Frequency for recurring contracts

Allowed values: ONEOFF WEEKLY FORTNIGHTLY BIMONTHLY MONTHLY QUARTERLY BIANNUALLY ANNUALLY
occurrences
integer

Number of planned occurrences for recurring contracts

next_charge
string · date-time

Next scheduled charge date for recurring contracts

charge_count
integer

Number of charges processed for this contract

transaction
object

Transaction details

object
id
string
e.g. "tr_11842_10000"

Transaction identifier

action
string · enum
e.g. "PAYMENT"

Transaction action type

Allowed values: PAYMENT REFUND AUTH CAPTURE VOID
source
string · enum
e.g. "MOTO"

Transaction source

Allowed values: MOTO ECOMMERCE RECURRING
status
string · enum
e.g. "SUCCESS"

Transaction status

Allowed values: SUCCESS PENDING DECLINED
gateway_status
string
e.g. "APPROVED"

Status reported by the gateway

sub_status
string · enum
e.g. "CUSTOMER_ACTION_REQUIRED"

Sub-status of the transaction, present when the gateway is waiting for someone to act. CUSTOMER_ACTION_REQUIRED means the customer still has something to do - e.g. a bank transfer or Multibanco payment stays PENDING until they make the transfer or pay the voucher. MERCHANT_ACTION_REQUIRED is reserved for future use. Omitted and NO_ACTION_REQUIRED mean the same thing.

Allowed values: NO_ACTION_REQUIRED CUSTOMER_ACTION_REQUIRED MERCHANT_ACTION_REQUIRED
sub_status_reason
string
e.g. "follow_bank_transfer_instructions"

Free-text description of the sub-status, e.g. follow_bank_transfer_instructions, follow_voucher_instructions or partially_funded. Descriptive only - not searchable.

gateway_reference
string
e.g. "ch_1GVaEEFi2CnH4uN3ouw69fw3"

Gateway’s transaction identifier

authorisation_code
string
e.g. "pi_1GVaEEFi2CnH4uN355ZdZvk5 (TEST)"

Authorization code from the gateway

reference
string
e.g. "REF-00010000"

Customer-facing reference

amount
string
e.g. "100"

Transaction amount

currency
string
e.g. "GBP"

Transaction currency

created
string · date-time
e.g. "2020-04-08T09:29:48.000Z"

Creation timestamp

updated
string · date-time
e.g. "2020-04-08T09:29:52.000Z"

Last update timestamp

processed
string · date-time
e.g. "2020-04-08T09:29:51.000Z"

Processing timestamp

resolved
string · date-time
e.g. "2020-04-08T09:29:51.000Z"

When the transaction was resolved

target_date
string · date-time
e.g. "2020-04-13T00:00:00.000Z"

Intended payment date. Present only when the transaction was created ahead of its target date because the payment method requires gateway advance notice (e.g. SEPA/BACS/GoCardless/Stripe ACH). This is the target date, not the settlement date, and is omitted for payment methods that charge on the due date.

id
string

Payment identifier (legacy format - use payment.id instead)

alt_key
string

Your supplied payment reference (legacy format - use payment.alt_key instead)

description
string

Payment description (legacy format - use payment.description instead)

source
string · enum

Payment source (legacy format - use payment.source instead)

Allowed values: MOTO ECOMMERCE RECURRING
action
string · enum

Payment action type (legacy format - use payment.action instead)

Allowed values: PAYMENT REFUND AUTH CAPTURE VOID
status
string · enum

Payment status (legacy format - use payment.status instead)

Allowed values: SUCCESS PENDING DECLINED REQAUTH INVALID_PAYMENT_METHOD UNRESOLVED UNATTRIBUTED

Bad request - invalid parameters

Media typeapplication/json

Every error has a code and a message. Some add more fields alongside them, with detail about the error.

object
code
string

The error code, for example VALIDATION_ERROR, INVALID, INVALID_REQUEST, UNAUTHORIZED, FORBIDDEN or NOT_FOUND. Program against this, not the message.

message
string

What went wrong, in words, for logs and support.

Unauthorised: the API key is missing or not valid

Media typeapplication/json

Every error has a code and a message. Some add more fields alongside them, with detail about the error.

object
code
string

The error code, for example VALIDATION_ERROR, INVALID, INVALID_REQUEST, UNAUTHORIZED, FORBIDDEN or NOT_FOUND. Program against this, not the message.

message
string

What went wrong, in words, for logs and support.

Example
{
"code": "UNAUTHORIZED",
"message": "Unauthorised"
}

Payment not found

Media typeapplication/json

Every error has a code and a message. Some add more fields alongside them, with detail about the error.

object
code
string

The error code, for example VALIDATION_ERROR, INVALID, INVALID_REQUEST, UNAUTHORIZED, FORBIDDEN or NOT_FOUND. Program against this, not the message.

message
string

What went wrong, in words, for logs and support.

Was this page helpful?