API references

Retrieve payment session

Retrieves a payment session by its ID. Returns the payment session details including payment status, amount, currency, and reference numbers.

Endpoint signature
POST https://api.reservepay.com/sdk/retrieve-payment-session HTTP/1.1
Content-Type: application/json
Accept: application/json
{
payment_session_id: string,
}
Returns: object
New to Reservepay? Read our guide on how to call endpoints to get started.
Request arguments
payment_session_id string

Required. The ID of the payment session to retrieve.

Response attributes
Attribute Description
amount
number

Always present. The payment amount in the smallest currency unit (e.g. cents for USD).

currency
string

Always present. The currency code for the payment amount (e.g. 'THB', 'USD').

payment_method
string

Always present. The name of the payment method.

payment_method_display_name
string

Always present. The display name of the payment method.

card_last_digits
string

Nullable. The ending digits of the card number. Null for non-card payment methods or card sessions without a token.

card_network
string

Nullable. The card network, such as visa or mastercard. Null for non-card payment methods or card sessions without a token.

installment_term
number

Nullable. Number of monthly installments for this payment. Null for non-installment payment methods.

installment_interest_rate
string

Nullable. The monthly interest rate as a decimal percentage string. Null for non-installment payment methods.

installment_monthly_amount
number

Nullable. Amount charged per month, in the smallest currency unit. Null for non-installment payment methods.

installment_total_amount
number

Nullable. Total amount across all installments, in the smallest currency unit. Null for non-installment payment methods.

installment_total_interest_amount
number

Nullable. Total interest charged across all installments, in the smallest currency unit. Null for non-installment payment methods.

installment_bank_name
string

Nullable. The name of the bank offering the installment plan. Null for non-installment payment methods.

payment_captured_at
string

Nullable. The date when the payment was captured in ISO 8601 format. Null if payment has not been captured.

status
string

Always present. The current status of the payment.

Possible values:
  • PENDING
  • INITIATED
  • SUCCESSFUL
  • FAILED
  • EXPIRED
payment_ref1
string

Nullable. First reference number for the payment. Can be used for external tracking or merchant-specific identifiers.

payment_ref2
string

Nullable. Second reference number for the payment. Can be used for external tracking or merchant-specific identifiers.

payment_ref3
string

Nullable. Third reference number for the payment. Can be used for external tracking or merchant-specific identifiers.

terminal_id
string

Nullable. The ID of the terminal that created the payment session, if any.

expires_at
number

Nullable. The expiration time of the payment as a Unix timestamp, or null if it does not expire.

Errors specific to this endpoint
NOT_FOUND

The payment session could not be found with the provided ID.

Errors common to all endpoints
UNHANDLED_ERROR

This error occurs when the server encounters an unexpected internal error that it cannot handle gracefully. This typically happens due to bugs, infrastructure issues, or edge cases that weren't anticipated during development.

INVALID_ARGUMENTS

This error occurs when the request contains invalid or missing parameters. Common cases include missing required fields, or values that don't match the expected format or type.

BAD_VERSION

This error occurs when making requests to an API version that is either deprecated or not yet released. This commonly happens when using an outdated SDK or when the API version specified in the request URL is incorrect.

CODE SAMPLES
curl
curl "https://api.reservepay.com/sdk/retrieve-payment-session" \
  -X POST
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
        "payment_session_id": "pse_01jz22vgekfrp101aw24f4g9dx"
      }'
Learn how to run these code samples in your terminal by reading our guide.