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
buyer.masked_emailoptionalstring
buyer.masked_phoneoptionalstring
callback_urlrequiredstring
external_order_idoptionalstring
captureoptional"automatic" | "manual"
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
purchase_units.basket[].descriptionoptionalstring
purchase_units.basket[].quantityrequirednumber
purchase_units.basket[].unit_pricerequirednumber
purchase_units.basket[].unit_discount_priceoptionalnumber
purchase_units.basket[].vatoptionalnumber
purchase_units.basket[].vat_percentoptionalnumber
purchase_units.basket[].total_priceoptionalnumber
purchase_units.basket[].imageoptionalstring
purchase_units.basket[].package_codeoptionalstring
purchase_units.basket[].tinoptionalstring
purchase_units.basket[].pinfloptionalstring
purchase_units.basket[].product_discount_idoptionalstring
purchase_units.deliveryoptionalobject
Information about the delivery service.
purchase_units.delivery.amountoptionalnumber
purchase_units.total_amountrequirednumber
purchase_units.total_discount_amountoptionalnumber
purchase_units.currencyoptionalstring
The currency in which payment is made:
GEL
- Georgian Lari (default)USD
- US dollarEUR
- EuroGBP
- 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
redirect_urls.failoptionalstring
ttloptionalnumber
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 cardgoogle_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 userbog_loyalty
- payment by the BoG MR/Plus pointsbnpl
- payment with Buy Now Pay Later planbog_loan
- standard bank installment plangift_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
config.loan.monthoptionalnumber
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
- Visamc
- MasterCardsolo
- SOLO card
config.campaign.typeoptionalstring
restrict
- card type restrictionclient_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
config.google_pay.externaloptionalboolean
true
- payment is initiated from the Google Pay button on business' webpagefalse
- 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
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
_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
_links.redirect.hrefstring
- RESPONSE
{
"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}"
}
}
}