Skip to content

API specification for Glomo (1.0.0)

The Glomo API follows REST architecture, utilizing resource-oriented URLs for clarity. It handles form-encoded request bodies, delivers responses in JSON format, and operates with standard HTTP methods, authentication, and response codes.

You can download the complete API collection by using the download options on the right.

Download OpenAPI description
Languages
Servers
Production server

https://api.glomopay.com/api/v1/

Balance

This resource represents your Glomo balance. You can retrieve it to see the current balance on your Glomo account in all currencies enabled for your account.

SchemasOperations

Balance Conversions

Balance Conversion resource represents the details of the balance conversion. The balance conversion is the conversion of the balance from one supported currency to another supported currency.

SchemasOperations

Orders

This resource represents the order details. The order is the request to receive payment from your customer.

SchemasOperations

Customer

This resource represents a customer of your business. The customer can be an individual or a business from whom you will receive payments.

SchemasOperations

Document

Document resource represents the documents details uploaded. This document is used in payin, payout, etc.

Operations

Payment

This resource represents a payment attempt made by your customer. The payment can either be successfully completed or failed, depending on various factors.

SchemasOperations

Payment

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: "payin_E602dMzgjpDC"
payin_typestring or null

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

Enum"payment_link""orders""add_funds"
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.

Enum"success""failed""action_required""in_progress"
payment_currencystring(iso-4217, case-insensitive)

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 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.

Example: 374580
converted_currencystring(iso-4217, case-insensitive)

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

Example: "USD"
converted_amountnumber>= 1

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.

Example: 102000
requested_currencystring(iso-4217, case-insensitive)

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 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.

Example: 100000
purpose_codestring

The purpose code of the payment. This should match the purpose code of the payin.

Example: "S0001"
transaction_reference_numberstring

The transaction reference number. This should match the payin id.

Example: "payin_E602dMzgjpDC"
sender_namestring

The name of the sender.

Example: "John Doe"
metadataobject

Additional metadata for the payment.

error_messagestringread-only

The error message, if any.

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 error description corresponding to error code.

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 contact their bank or try a different payment method."
payment_datestring(date-time)

The date of the payment.

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

Fee bearer of the payment.

Example: "customer"
created_atstring(date-time)read-only

The creation timestamp of the payment.

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

The last update timestamp of the payment.

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

The unique identifier for the customer.

Example: "cust_E602sMzgjpDC"
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, case-insensitive)

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

Example: "Ind"
ordered_amountinteger

The ordered amount.

Example: 1000
ordered_currencystring

The ordered currency.

Example: "USD"
fx_feeobject(Money)
txn_feeobject(Money)
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
payment_methodobject

Specifies the method used by the customer to complete the payment. This can include various options such as swift_transfer, card, and other payment methods.

auto_debitboolean or nullread-only

Indicates whether the payment was made via auto-debit for subscription payments. Returns true if it's an auto-debit payment, false if it's a manual payment for a subscription, or null if the payment is not associated with a subscription.

Example: true
{ "id": "payt_E602dMzgjpDC", "payin_id": "payin_E602dMzgjpDC", "payin_type": "payment_link", "subscription_id": "sub_68877570b5zeE", "status": "success", "payment_currency": "AED", "payment_amount": 374580, "converted_currency": "USD", "converted_amount": 102000, "requested_currency": "USD", "requested_amount": 100000, "purpose_code": "S0001", "transaction_reference_number": "payin_E602dMzgjpDC", "sender_name": "John Doe", "metadata": {}, "error_message": "string", "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.", "payment_date": "2024-12-06T11:38:37.130Z", "fee_bearer": "customer", "created_at": "2024-12-06T11:38:37.130Z", "updated_at": "2024-12-06T11:38:37.130Z", "customer_id": "cust_E602sMzgjpDC", "product_name": "ShieldGuard Insurance", "product_description": "Simple, monthly insurance plan that covers your basic belongings and key digital assets", "country": "Ind", "ordered_amount": 1000, "ordered_currency": "USD", "fx_fee": { "amount": 1000, "currency": "USD" }, "txn_fee": { "amount": 1000, "currency": "USD" }, "documents": [ { … } ], "settlement_id": "string", "funds_available": true, "payment_method": { "summary": "Swift Transfer Payment Method", "value": { … } }, "auto_debit": true }

Request

Security
JWT
Query
customer_idstring

The unique identifier for the customer.

Example: customer_id=cust_E602sMzgjpDC
statusstring

Status of payin to filter

Enum"success""failed""action_required""in_progress"
Example: status=success
payin_idstring

The unique identifier for the payin.

Example: payin_id=payin_E602dMzgjpDC
subscription_idstring

The unique identifier for the subscription.

Example: subscription_id=sub_68877570b5zeE
currencystring(iso-4217, case-insensitive)

The currency in which the payment is made. The currency code is in ISO 4217 format. For example, USD.

Example: currency=USD
beforestring(timestamp)

ISO-8601 timestamp in UTC to filter resources created before this time. Use this to avoid Page drift issue. See Pagination parameters for more details.

Example: before=2025-02-18T12:03:44Z
afterstring(timestamp)

ISO-8601 timestamp in UTC to filter resources created after this time. Use this to avoid Page drift issue. See Pagination parameters for more details.

Example: after=2025-01-18T12:03:44Z
per_pageinteger

Number of resources per page. Should be between 1 and 100.

Default 20
pageinteger

Page number for pagination. Starts from 1. Get the next page number from the next field in the response.

Default 1
curl -i -X GET \
  'https://api.glomopay.com/api/v1/payment?customer_id=cust_E602sMzgjpDC&status=success&payin_id=payin_E602dMzgjpDC&subscription_id=sub_68877570b5zeE&currency=USD&before=2025-02-18T12%3A03%3A44Z&after=2025-01-18T12%3A03%3A44Z&per_page=20&page=1' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

List of payments matching the filters

Bodyapplication/json
dataArray of objects(Payment)
page_metaobject(PageMeta)
Response
application/json
{ "data": [ { … } ], "page_meta": { "current": 2, "previous": 1, "next": 3, "per_page": 20, "pages": 10, "count": 200 } }

Request

This API is only available in sandbox mode. Creates a mock payment of specified amount for any given Payment link.

Security
JWT
Bodyapplication/jsonrequired
amountinteger>= 100required

Amount in cents (minimum 100)

Example: 10000
currencystring(iso-4217)required

The currency code in ISO 4217 format

Example: "AED"
payment_methodstring

Required if no payin_id is passed.

Value"BankTransfer"
Example: "BankTransfer"
payin_idstring

The unique identifier for the payin. Required if no payment_method is passed.

Example: "payin_E602dMzgjpDC"
remitter_namestring

Name of the remitter. Optional, defaults to Non_Sanctioned_Entity

Enum"Sanctioned_Entity""Non_Sanctioned_Entity"
Example: "Non_Sanctioned_Entity"
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"
  }'

Responses

Payment created successfully

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: "payin_E602dMzgjpDC"
payin_typestring or null

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

Enum"payment_link""orders""add_funds"
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.

Enum"success""failed""action_required""in_progress"
payment_currencystring(iso-4217, case-insensitive)

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 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.

Example: 374580
converted_currencystring(iso-4217, case-insensitive)

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

Example: "USD"
converted_amountnumber>= 1

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.

Example: 102000
requested_currencystring(iso-4217, case-insensitive)

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 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.

Example: 100000
purpose_codestring

The purpose code of the payment. This should match the purpose code of the payin.

Example: "S0001"
transaction_reference_numberstring

The transaction reference number. This should match the payin id.

Example: "payin_E602dMzgjpDC"
sender_namestring

The name of the sender.

Example: "John Doe"
metadataobject

Additional metadata for the payment.

error_messagestringread-only

The error message, if any.

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 error description corresponding to error code.

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 contact their bank or try a different payment method."
payment_datestring(date-time)

The date of the payment.

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

Fee bearer of the payment.

Example: "customer"
created_atstring(date-time)read-only

The creation timestamp of the payment.

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

The last update timestamp of the payment.

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

The unique identifier for the customer.

Example: "cust_E602sMzgjpDC"
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, case-insensitive)

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

Example: "Ind"
ordered_amountinteger

The ordered amount.

Example: 1000
ordered_currencystring

The ordered currency.

Example: "USD"
fx_feeobject(Money)
txn_feeobject(Money)
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
payment_methodobject

Specifies the method used by the customer to complete the payment. This can include various options such as swift_transfer, card, and other payment methods.

auto_debitboolean or nullread-only

Indicates whether the payment was made via auto-debit for subscription payments. Returns true if it's an auto-debit payment, false if it's a manual payment for a subscription, or null if the payment is not associated with a subscription.

Example: true
Response
application/json
{ "id": "payt_E602dMzgjpDC", "payin_id": "payin_E602dMzgjpDC", "payin_type": "payment_link", "subscription_id": "sub_68877570b5zeE", "status": "success", "payment_currency": "AED", "payment_amount": 374580, "converted_currency": "USD", "converted_amount": 102000, "requested_currency": "USD", "requested_amount": 100000, "purpose_code": "S0001", "transaction_reference_number": "payin_E602dMzgjpDC", "sender_name": "John Doe", "metadata": {}, "error_message": "string", "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.", "payment_date": "2024-12-06T11:38:37.130Z", "fee_bearer": "customer", "created_at": "2024-12-06T11:38:37.130Z", "updated_at": "2024-12-06T11:38:37.130Z", "customer_id": "cust_E602sMzgjpDC", "product_name": "ShieldGuard Insurance", "product_description": "Simple, monthly insurance plan that covers your basic belongings and key digital assets", "country": "Ind", "ordered_amount": 1000, "ordered_currency": "USD", "fx_fee": { "amount": 1000, "currency": "USD" }, "txn_fee": { "amount": 1000, "currency": "USD" }, "documents": [ { … } ], "settlement_id": "string", "funds_available": true, "payment_method": { "summary": "Swift Transfer Payment Method", "value": { … } }, "auto_debit": true }

Refund

This resource represents a refund transaction from your Glomo account to your customer. You can retrieve it to see the details of the refund transaction.

SchemasOperations

Price

This resource represents the pricing details of the payin or payout. The pricing details include the fees and the pricing type

SchemasOperations

Subscription

This resource represents a recurring billing agreement for a customer. Subscriptions allow businesses to automatically charge customers on a regular schedule according to a defined billing plan.

SchemasOperations

Payout

This resource represents the disbursement transactions from your Glomo account to your beneficiaries.

SchemasOperations

Beneficiary

This resource represents a payee of a payout initiated by your business. The beneficiary can be an individual or a business to whom you will send funds.

SchemasOperations

Bank Account Validation

Bank Account Validation resource represents the validation details of a bank account.

SchemasOperations

Internal Transfer

This resource represents internal fund movements between merchant accounts within the platform–partner model. Internal transfers enable seamless fund movement between merchants who operate under the same platform account. Internal transfers are restricted to accounts linked under the same platform hierarchy. The following transfer directions are supported:

Transfer TypeDescription
P → CFrom a Platform (P) account to one of its Child (C) merchant accounts.
C → PFrom a Child (C) merchant account back to its Platform (P) account.
C → C (same P)Between Child (C) accounts under the same Platform (P).
SchemasOperations

Withdrawal

[DEPRECATED] This resource represents the withdrawal transaction from your Glomo account to your withdrawal account.

SchemasOperations

Withdrawal Account

This resource represents the withdrawal account details. The withdrawal account is the bank account where the withdrawal amount will be credited.

SchemasOperations

Settlement

This resource represents the settlement details. The settlement is the process of transferring funds from your Glomo account to your bank account.

SchemasOperations

Virtual Account

This resource represents virtual account details. A virtual account is a unique account number provisioned for a customer, allowing payments to be received and transactions to be tracked against that customer.

SchemasOperations

Platform

This resource provides platform functionality that enables platforms to onboard merchants onto Glomo, with each merchant having their own dedicated Virtual Accounts (VA).

SchemasOperations