Skip to main content

Order Request

To place an order request, businesses must send payment details, technical specifications, and the amount to be paid to the online payment server. If the process is successful, the customer should be redirected to the online payment page at the redirect address returned to the _link parameter to complete the payment.

Header parameters

Content-Typerequiredapplication/json

AuthorizationrequiredBasic <base64>

Bearer <jwt_token>, where jwt_token is the token returned in the access_token parameter of the authentication method response.

Idempotency-KeyoptionalUUID v4

The Idempotency-Key parameter should be unique for each new API request. Subsequent requests to the same API endpoint with the same Idempotency-Key header will result in the server returning the same status code and response body as the initial request. This functionality is particularly useful to ensure consistent outcome in scenarios where network issues or retries may lead to duplicate requests.

Accept-Languageoptionalstring

The language of the interface that the customer will see when redirected to the online payment page. The possible values are:

  • ka - Georgian (default)
  • en - English.

Themeoptionalstring

The theme of the interface that the customer will see when redirected to the online payment page. The possible values are:

  • light - Light (default)
  • dark - Dark.

Body parameters

application_typeoptional"web" | "mobile"

Defines the type of application from which the order was created. This parameter is used specifically when an order is created using Apple Pay, directly from the merchant's webpage or mobile application. application_type has two values:

  • web - For orders created from a webpage.
  • mobile - For orders created from a mobile application.

buyeroptionalobject

Information about the buyer.

buyer.full_nameoptionalstring

The buyer's name and surname.

buyer.masked_emailoptionalstring

The buyer's masked email address.

buyer.masked_phoneoptionalstring

The buyer's masked phone number.

callback_urlrequiredstring

The web address of the business (must be HTTPS), which will be automatically called by the bank upon completion of the payment to provide the business with the payment details (via Callback).

external_order_idoptionalstring

The payment identifier from the business system (e.g., the purchase basket identifier).

captureoptional"automatic" | "manual"

The transaction type takes two values:
  • automatic - creation of a standard order, payment will be made without pre-authorization, and the amount will be immediately withdrawn from the customer’s account.
  • manual - after payment, the amount on the customer’s account will be blocked and will not be available for the customer. To complete the payment, it is necessary to use the pre-authorization completing method and confirm/reject the transaction. If this operation is not performed within 30 days, the amount will be automatically unblocked and will be available again for the customer. This feature can only be used when paying through Apple Pay, Google Pay or by a card.

purchase_unitsrequiredobject

The purchase information.

purchase_units.basketrequiredarray

A basket of products or services purchased within a given payment in a business.

purchase_units.basket[].product_idrequiredstring

The purchased product/service identifier in the business system.

purchase_units.basket[].descriptionoptionalstring

The name (description) of the purchased product/service.

purchase_units.basket[].quantityrequirednumber

The quantity (volume) of each product/service. The minimum value is 1.

purchase_units.basket[].unit_pricerequirednumber

The purchased product/service unit price.

purchase_units.basket[].unit_discount_priceoptionalnumber

The volume of the deducted amount on the product/service unit in case of discount payment.

purchase_units.basket[].vatoptionalnumber

The value added tax (VAT) of the purchased product/service.

purchase_units.basket[].vat_percentoptionalnumber

The percentage of value added tax (VAT) of the purchased product/service.

purchase_units.basket[].total_priceoptionalnumber

The total price of the purchased product/service.

purchase_units.basket[].imageoptionalstring

The web address of the product/service image.

purchase_units.basket[].package_codeoptionalstring

The product code of the purchased product/service.

purchase_units.basket[].tinoptionalstring

The taxpayer identification number (TIN).

purchase_units.basket[].pinfloptionalstring

The personal identification number of an individual (PINFL).

purchase_units.basket[].product_discount_idoptionalstring

Product discount identifier. If a discount promotion is registered in the bank with the provided value, taking into account the terms of the discount, the corresponding promotion will be applied to the order.

purchase_units.deliveryoptionalobject

Information about the delivery service.

purchase_units.delivery.amountoptionalnumber

The delivery fee.

purchase_units.total_amountrequirednumber

The full amount is to be paid.

purchase_units.total_discount_amountoptionalnumber

The reduced amount in case of payment with a discount.

purchase_units.currencyoptionalstring

The currency in which payment is made:

  • GEL - Georgian Lari (default)
  • USD - US dollar
  • EUR - Euro
  • GBP - British pound.

redirect_urlsoptionalobject

The business web addresses that customers can be redirected to from the online payment system upon completion of the payment.

redirect_urls.successoptionalstring

The web address in the case of successful completion of the transaction. If it is empty, the customer will remain on the online payments page and a corresponding receipt will be shown.

redirect_urls.failoptionalstring

The web address in the case of unsuccessful completion of the transaction. If it is empty, the customer will remain on the online payments page and a corresponding receipt will be shown.

ttloptionalnumber

Specifies the duration of the order lifespan in minutes (the number of minutes a customer will be able to pay). The logic of this parameter can vary depending on the business's industry. The minimum value is 2 minutes, and the maximum is 1440 minutes (24 hours). If this parameter is left empty, the system defaults to 15 minutes.

payment_methodoptionalarray

The payment methods that a customer can use to pay for the order. The business must have all the methods it provides here activated. If the parameter is left empty, upon redirecting a customer to the online payment page, they will be able to use all the payment methods available for the business. The possible values are:

  • card - payment by a bank card
  • google_pay - payment through Google Pay and by a bank card (in the case of providing this option, the customer will be able to pay both by Google Pay and a bank card. The Business must have both payment methods activated)
  • apple_pay - payment through Apple Pay and by a bank card (in the case of providing this option, the customer will be able to pay both by Apple Pay and a bank card. The Business must have both payment methods activated)
  • bog_p2p - transferring by the BoG, internet, or mobile bank user
  • bog_loyalty - payment by the BoG MR/Plus points
  • bnpl - payment with Buy Now Pay Later plan
  • bog_loan - standard bank installment plan
  • gift_card - payment with a gift card

configoptionalobject

Configuration of a specific payment.

config.loanoptionalobject

Payment configuration. Transmission of a parameter is necessary if you wish the payment to be made only by installment plan ("payment_method":["bog_loan"]) or only by bnpl ("payment_method":["bnpl"]).

config.loan.typeoptionalstring

Discount code of the installment/bnpl (the value of the discount_code parameter returned by the calculator).

config.loan.monthoptionalnumber

Duration of the installment/bnpl in months (the value of the month parameter returned by the calculator).

config.campaignoptionalobject

Duration of the installment/bnpl in months (the value of the month parameter returned by the calculator).

config.campaign.cardoptionalstring

A card type, to which the discount applies to:

  • visa - Visa
  • mc - MasterCard
  • solo - SOLO card

config.campaign.typeoptionalstring

Discount type:
  • restrict - card type restriction
  • client_discount - discount on a specific card type

config.google_payoptionalobject

Payment configuration. Transmission of a parameter is necessary if you wish to make Google Pay payment from your own webpage.

config.google_pay.google_pay_tokenoptionalstring

Google token

config.google_pay.externaloptionalboolean

  • true - payment is initiated from the Google Pay button on business' webpage
  • false - Payment is initiated from the bank's webpage (default).

config.apple_payoptionalobject

Payment configuration. This parameter is necessary if you wish to enable Apple Pay payments from your own webpage.

config.apple_pay.externaloptionalboolean

  • true -Payment is initiated from the Apple Pay button on the business's webpage.
  • false - Payment is initiated from the bank's webpage (default).

config.accountoptionalobject

Payment configuration: This object is necessary if you have configured multiple e-commerce POS terminals in the same currency. It allows you to group payments based on business needs or settle payments on different business bank accounts.

config.account.tagoptionalstring

E-commerce POS identifier. If provided tag does not match with POS configuration or tag was not provided, the operation will default to the default POS terminal and its corresponding payment account. Note: It is important to agree upon tag values when configuring additional ecommerce POS terminal.

curl -X POST 'https://api.bog.ge/payments/v1/ecommerce/orders' \
-H 'Accept-Language: ka' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
--data-raw '{
"callback_url": "https://example.com/callback",
"external_order_id": "id123",
"purchase_units": {
"currency": "GEL",
"total_amount": 1,
"basket": [
{
"quantity": 1,
"unit_price": 1,
"product_id": "product123"
}
]
},
"redirect_urls": {
"fail": "https://example.com/fail",
"success": "https://example.com/success"
}
}'

Response

idstring

Order identifier.

_linksobject

The web resource addresses are used in the further stages of the payment process. At the moment two resources are returned:

_links.details.hrefstring

The address of the payment details can be used to obtain information on the online payment.

_links.redirect.hrefstring

The web page address, which a customer shall be redirected to in order to enter a plastic card or online banking details and complete the process.
{
"id": "{order_id}",
"_links": {
"details": {
"href": "https://api.bog.ge/payments/v1/receipt/{order_id}"
},
"redirect": {
"href": "https://payment.bog.ge/?order_id={order_id}"
}
}
}