- Create a mock payment
This API is only available in sandbox mode. Creates a mock payment of specified amount for any given Payment link.
Amount in minor units (cents), minimum 100. Reserved sandbox test amount: use exactly 6623 (in any currency) to force a sanctions-screening hit. The payment still succeeds, but its compliance_status is set to action_required and a payment-screening RFI is raised against it, with settlement held until the RFI is resolved. This works for any payment method and whether or not a customer is attached. See Compliance Reviews & RFIs on Successful Payments.
The unique identifier for the payin. Required if no payment_method is passed.
curl -i -X POST \
https://api.glomopay.com/api/v1/payment/mock \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"amount": 10000,
"currency": "AED",
"payment_method": "BankTransfer",
"payin_id": "payin_E602dMzgjpDC",
"remitter_name": "Non_Sanctioned_Entity"
}'Payment created successfully
The unique identifier for the payin. This is set only for payments associated to a payin.
The type of the payin. This is set only for payments associated to a payin.
The unique identifier for the subscription. This is set only for subscription-related payments.
The status of the payment.
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.
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.
The currency in which the customer pays. The currency code is in ISO 4217 format. For example, AED.
The total amount the customer pays in cents (includes customer-borne fees if applicable). For example, 374580 cents is 3,745.80 AED. The currency is determined by the payment_currency field.
The settlement currency after conversion. The currency code is in ISO 4217 format. For example, USD.
The final amount after currency conversion in cents (includes all fees). For example, 102000 cents is $1,020.00. The currency is determined by the converted_currency field.
The currency that was originally requested by the merchant. The currency code is in ISO 4217 format. For example, USD.
The amount originally requested by the merchant in cents, excluding customer-borne fees. For example, 100000 cents is $1,000.00. The currency is determined by the requested_currency field.
The purpose code of the payment. This should match the purpose code of the payin.
Custom field values for this payment. See Custom Fields.
{ "policy_number": "POL-001" }
The error code for the respective error. Error code mappings can be found in the product guide.
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.
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).
The timestamp at which the payment was completed. null if the payment has not been paid.
The party bearing the fees for the payment.
When merchant-borne fees are collected. immediate deducts fees up front; deferred invoices them later. null when not applicable.
The creation timestamp of the payment.
The last update timestamp of the payment.
The unique identifier for the merchant (business) that owns the payment.
The name of the product associated with the payment.
The description of the product associated with the payment.
The country of the sender. Country should be sent as a ISO 3166-1 alpha-3 code.
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.
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.
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 settlementfalse- Funds are still in transit with Glomo's payment partners and are not yet available for use
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.
- Bank Transfer Details
- Pay Via Bank Details
- Card Details
{ "id": "payt_E602dMzgjpDC", "payin_id": "payin_E602dMzgjpDC", "payin_type": "payment_link", "subscription_id": "sub_68877570b5zeE", "status": "success", "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": 102000, "requested_currency": "USD", "requested_amount": 100000, "purpose_code": "S0001", "sender_name": "John Doe", "notes": { "policy_number": "POL-001" }, "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, "payment_method": { "summary": "Bank Transfer Payment Method (SWIFT, sender bank identified by BIC)", "value": { … } }, "auto_debit?": true }