Skip to content

Retrieve a payment

Request

Retrieves a single payment by ID. The payment must belong to the merchant the API key authenticates as — an ID that exists but belongs to another merchant returns 404, not 403. An ID that is not a well-formed payment ID is rejected with 400 before any lookup happens, so 400 and 404 here mean different things: malformed versus not yours.

Security
JWT
Path
idstringrequired

The unique identifier for the payment. Starts with payt_ followed by letters and digits. An ID of any other shape is rejected with 400 and a message saying it must start with payt_; a well-formed ID that doesn't match a payment on your account returns 404.

Example:payt_E602dMzgjpDC
curl -i -X GET \
  https://api.glomopay.com/api/v1/payment/payt_E602dMzgjpDC \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Payment found

Bodyapplication/json
idstringread-only

The unique identifier for the payment.

Example:"payt_E602dMzgjpDC"
payin_idstring or null

The unique identifier for the payin. This is set only for payments associated to a payin.

Example:"plink_E602dMzgjpDC"
payin_typestring or null

The type of the payin. This is set only for payments associated to a payin.

  • payment_link — the payment was made through a payment link.
  • orders — the payment was made against an order.
  • add_funds — the payment tops up your own Glomo balance.
Enum:"payment_link""orders""add_funds"null
subscription_idstring or null

The unique identifier for the subscription. This is set only for subscription-related payments.

Example:"sub_68877570b5zeE"
statusstringread-only

The status of the payment.

  • in_progress — the payment has started and has not completed yet.
  • action_required — Glomo needs more information before the payment can complete. Respond to the open RFI to continue.
  • under_review — the information you submitted is being reviewed.
  • success — the payment completed. Terminal. Funds can still be held for compliance review; see compliance_status.
  • failed — the payment did not complete. Terminal.
Enum:"in_progress""action_required""under_review""success""failed"
compliance_statusstring or nullread-only

The compliance review status of the payment. Present only for payments that have been screened for sanctions or transaction-monitoring holds; null for payments that were not screened. This is separate from status — a payment can be status: success while compliance_status is action_required, meaning the payment itself completed but funds are held pending compliance review. See the rfi field for what's required when action_required.

  • under_review — the payment is being reviewed and its funds are held.
  • action_required — documents are needed before the review can finish. Respond to the open RFI.
  • approved — the review passed and the funds are released.
  • rejected — the payment did not pass the review.
Enum:"action_required""under_review""approved""rejected"null
Example:"action_required"
rfiobjectread-only

Present only when a compliance-related Request For Information exists on this payment. Describes why the payment was flagged and what's required to resolve it.

payment_currencystring, (iso-4217)

The currency in which the customer pays. The currency code is in ISO 4217 format. For example, AED.

Example:"AED"
payment_amountnumber, >= 1

The total amount the customer pays (includes customer-borne fees if applicable), in the smallest unit of payment_currency, the customer-side currency. 374580 is 3,745.80 AED when payment_currency is AED.

Example:374580
converted_currencystring, (iso-4217)

The settlement currency after conversion. The currency code is in ISO 4217 format. For example, USD.

Example:"USD"
converted_amountnumber, >= 1

The payment amount in the smallest unit of converted_currency, the merchant-side currency. 100000 is $1,000.00 when converted_currency is USD. Always the same value as requested_amount. For a payment against an order, payment link or subscription, it is the amount requested and excludes customer-borne fees, which are counted only in payment_amount. A bank transfer that is not yet connected to an order or payment link shows the amount and currency received. Once it is connected and the amount received matches the payin's quote, it shows the merchant-side amount like any other payment.

Example:100000
requested_currencystring, (iso-4217)

The currency that was originally requested by the merchant. The currency code is in ISO 4217 format. For example, USD.

Example:"USD"
requested_amountnumber, >= 1

The amount requested by the merchant, in the smallest unit of requested_currency, the merchant-side currency. 100000 is $1,000.00 when requested_currency is USD. Always the same value as converted_amount. For a payment against an order, payment link or subscription, it excludes customer-borne fees, which are counted only in payment_amount. A bank transfer that is not yet connected to an order or payment link shows the amount and currency received. Once it is connected and the amount received matches the payin's quote, it shows the merchant-side amount like any other payment.

Example:100000
purpose_codestring

Purpose code recorded against this payment, from the fixed set of payin purpose codes. For a payment connected to a payin this is normally the payin's purpose code. It can be empty.

Example:"S0001"
sender_namestring

The name of the sender.

Example:"John Doe"
notesobject

Custom field values for this payment. See Custom Fields.

Example:
{ "policy_number": "POL-001" }
request_idstring or nullread-only

The request_id you sent when creating this payment; null if you sent none. Look the payment up with GET /v1/payments?request_id=<your_request_id>.

Example:"your-internal-id"
error_codestringread-only

The error code for the respective error. Error code mappings can be found in the product guide.

Example:"PAYMENT_DECLINED"
error_descriptionstringread-only

The merchant-facing error description corresponding to the error code. Operational copy for the merchant. See customer_error_description for the copy meant for the end-customer.

Example:"The payment attempt was declined. This could be due to issuer rejection, risk assessment, or restrictions on the card or account. The customer should
customer_error_descriptionstring or nullread-only

Customer-facing error copy, written for the merchant to relay to their end-customer. Derives from the same error_code as error_description but targets a different audience. null when there is no error_code, or when the error code has no customer-facing variant (some codes are merchant-only, e.g. ACCOUNT_LOCKED, LOGGED_IN_ELSEWHERE, FUNCTIONALITY_RESTRICTED).

Example:"Your payment could not be completed. Please try a different payment method or contact your bank."
paid_atstring or null, (date-time)read-only

When the payment was completed, as an ISO 8601 date-time in UTC. null if the payment has not been paid.

Example:"2024-12-06T11:38:37.130Z"
fee_bearerstring

The party bearing the fees for the payment.

Enum:"customer""merchant""split"
Example:"customer"
fee_collection_modestring or null

When merchant-borne fees are collected. immediate deducts fees up front; deferred invoices them later. null when not applicable.

Enum:"immediate""deferred"null
Example:"immediate"
created_atstring, (date-time)read-only

When the payment was created, as an ISO 8601 date-time in UTC.

Example:"2024-12-06T11:38:37.130Z"
updated_atstring, (date-time)read-only

When the payment was last updated, as an ISO 8601 date-time in UTC.

Example:"2024-12-06T11:38:37.130Z"
customer_idstring

The unique identifier for the customer.

Example:"cust_E602sMzgjpDC"
merchant_idstring

The unique identifier for the merchant (business) that owns the payment.

Example:"merch_68c777fcOOMpl"
product_namestring or nullread-only

The name of the product associated with the payment.

Example:"ShieldGuard Insurance"
product_descriptionstring or nullread-only

The description of the product associated with the payment.

Example:"Simple, monthly insurance plan that covers your basic belongings and key digital assets"
countrystring, (iso-3166-1-alpha-3)

The country of the sender. Country should be sent as a ISO 3166-1 alpha-3 code.

Example:"Ind"
fee_breakdownobject

A detailed breakdown of the fees charged for the payment, grouped by fee type. Each fee type holds one entry per fee bearer, with any applicable taxes (for example, GST) nested under the entry's taxes array.

documentsArray of objects(AttachedDocument)

The attached documents for the payment.

settlement_idstring

A unique identifier generated by Glomo for the settlement batch in which this payment is included. This ID can be used to track and reconcile payments against corresponding settlements.

funds_availableboolean

Indicates whether the funds for this payment are currently available with Glomo.

Values:

  • true - Funds are available with Glomo and can be included in a payout or settlement
  • false - Funds are still in transit with Glomo's payment partners and are not yet available for use
partner_transaction_reference_idstringread-only

Transaction ID common to both partners in a partnership payment, so both partners can match the same remittance. Present only for partnership payments.

Example:"ptr_6819d8046mpKt"
payment_methodobject

Specifies the method used by the customer to complete the payment.

Example:
{ "summary": "Bank Transfer Payment Method (SWIFT, sender bank identified by BIC)", "value": { "type": "bank_transfer", "details": { … } } }
auto_debit?boolean or nullread-only

Indicates whether the payment was made via auto-debit. Present only for subscription payments; true for an auto-debit payment, false for a manual subscription payment.

Example:true
feesobjectdeprecated

Deprecated. Use fee_breakdown instead. The fees charged for the payment, aggregated per fee type. fee_breakdown provides a per-bearer breakdown including any applicable taxes.

Response
{ "id": "payt_E602dMzgjpDC", "payin_id": "plink_E602dMzgjpDC", "payin_type": "payment_link", "subscription_id": "sub_68877570b5zeE", "status": "in_progress", "compliance_status": "action_required", "rfi": { "id": "rfi_6a72a39b38jDD", "reason_code_description": "The payment has been flagged for a compliance review and requires additional information before it can credited to your account.", "reason_code": "COMPLIANCE_REVIEW", "response_deadline": "2026-08-21T10:29:00Z", "documents_required": [ … ] }, "payment_currency": "AED", "payment_amount": 374580, "converted_currency": "USD", "converted_amount": 100000, "requested_currency": "USD", "requested_amount": 100000, "purpose_code": "S0001", "sender_name": "John Doe", "notes": { "policy_number": "POL-001" }, "request_id": "your-internal-id", "error_code": "PAYMENT_DECLINED", "error_description": "The payment attempt was declined. This could be due to issuer rejection, risk assessment, or restrictions on the card or account. The customer should contact their bank or try a different payment method.", "customer_error_description": "Your payment could not be completed. Please try a different payment method or contact your bank.", "paid_at": "2024-12-06T11:38:37.130Z", "fee_bearer": "customer", "fee_collection_mode": "immediate", "created_at": "2024-12-06T11:38:37.130Z", "updated_at": "2024-12-06T11:38:37.130Z", "customer_id": "cust_E602sMzgjpDC", "merchant_id": "merch_68c777fcOOMpl", "product_name": "ShieldGuard Insurance", "product_description": "Simple, monthly insurance plan that covers your basic belongings and key digital assets", "country": "Ind", "fees": { "txn_fee": { … }, "fx_fee": { … }, "referral_fee": { … } }, "fee_breakdown": { "fx_fee": [ … ], "txn_fee": [ … ], "referral_fee": [ … ] }, "documents": [ { … } ], "settlement_id": "string", "funds_available": true, "partner_transaction_reference_id": "ptr_6819d8046mpKt", "payment_method": { "summary": "Bank Transfer Payment Method (SWIFT, sender bank identified by BIC)", "value": { … } }, "auto_debit?": true }