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

Request

Security
JWT
Path
idstringrequired

The unique identifier for the payment.

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: "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 }

Request

Security
JWT
Path
idstringrequired

The unique identifier for the payment.

Example: payt_E602dMzgjpDC
Bodyapplication/jsonrequired
documentsArray of objects(AttachedDocument)required
documents[].​idstringrequired

The unique identifier for the Document.

Example: "doc_nYUqLpuYQ0M8"
documents[].​rfi_doc_idstring or nullrequired

The unique identifier for the RFI Document. This will be null if the document is not an RFI Document.

Example: "rfidoc_nYUqLpuYQ0M8"
curl -i -X PATCH \
  https://api.glomopay.com/api/v1/payment/payt_E602dMzgjpDC/update_rfi \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "documents": [
      {
        "id": "doc_nYUqLpuYQ0M8",
        "rfi_doc_id": "rfidoc_nYUqLpuYQ0M8"
      }
    ]
  }'

Responses

Document attached 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 }

Request

This API is only available in sandbox mode. Updates the funds_available status of a payment to simulate the availability of funds for testing purposes.

Security
JWT
Path
idstringrequired

The unique identifier for the payment.

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

Responses

Payment funds available status updated successfully

Bodyapplication/json
dataobject(Payment)
messagestring

Success message

Example: "Payment funds available status updated successfully"
Response
application/json
{ "data": { "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": { … }, "txn_fee": { … }, "documents": [ … ], "settlement_id": "string", "funds_available": true, "payment_method": { … }, "auto_debit": true }, "message": "Payment funds available status updated successfully" }

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