curl --request POST \
--url https://sandbox.birrpay.io/payments/session_tokens \
--header 'Content-Type: application/json' \
--header 'api-key: <api-key>' \
--data '
{
"payment_id": "<string>",
"client_secret": "<string>",
"wallets": [],
"merchant_connector_details": {
"creds_identifier": "<string>",
"encoded_data": {
"connector_account_details": {},
"metadata": {}
}
}
}
'import requests
url = "https://sandbox.birrpay.io/payments/session_tokens"
payload = {
"payment_id": "<string>",
"client_secret": "<string>",
"wallets": [],
"merchant_connector_details": {
"creds_identifier": "<string>",
"encoded_data": {
"connector_account_details": {},
"metadata": {}
}
}
}
headers = {
"api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
payment_id: '<string>',
client_secret: '<string>',
wallets: [],
merchant_connector_details: {
creds_identifier: '<string>',
encoded_data: {connector_account_details: {}, metadata: {}}
}
})
};
fetch('https://sandbox.birrpay.io/payments/session_tokens', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.birrpay.io/payments/session_tokens",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'payment_id' => '<string>',
'client_secret' => '<string>',
'wallets' => [
],
'merchant_connector_details' => [
'creds_identifier' => '<string>',
'encoded_data' => [
'connector_account_details' => [
],
'metadata' => [
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.birrpay.io/payments/session_tokens"
payload := strings.NewReader("{\n \"payment_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"wallets\": [],\n \"merchant_connector_details\": {\n \"creds_identifier\": \"<string>\",\n \"encoded_data\": {\n \"connector_account_details\": {},\n \"metadata\": {}\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox.birrpay.io/payments/session_tokens")
.header("api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"payment_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"wallets\": [],\n \"merchant_connector_details\": {\n \"creds_identifier\": \"<string>\",\n \"encoded_data\": {\n \"connector_account_details\": {},\n \"metadata\": {}\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.birrpay.io/payments/session_tokens")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"payment_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"wallets\": [],\n \"merchant_connector_details\": {\n \"creds_identifier\": \"<string>\",\n \"encoded_data\": {\n \"connector_account_details\": {},\n \"metadata\": {}\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"payment_id": "<string>",
"client_secret": "<string>",
"session_token": [
{
"delayed_session_token": true,
"connector": "<string>",
"sdk_next_action": {
"next_action": "post_session_tokens"
},
"wallet_name": "google_pay"
}
]
}{
"error_type": "invalid_request",
"message": "Missing required param: {param}",
"code": "IR_04"
}Payments - Session token
Creates a session object or a session token for wallets like Apple Pay, Google Pay, etc. These tokens are used by BirrPay’s SDK to initiate these wallets’ SDK.
curl --request POST \
--url https://sandbox.birrpay.io/payments/session_tokens \
--header 'Content-Type: application/json' \
--header 'api-key: <api-key>' \
--data '
{
"payment_id": "<string>",
"client_secret": "<string>",
"wallets": [],
"merchant_connector_details": {
"creds_identifier": "<string>",
"encoded_data": {
"connector_account_details": {},
"metadata": {}
}
}
}
'import requests
url = "https://sandbox.birrpay.io/payments/session_tokens"
payload = {
"payment_id": "<string>",
"client_secret": "<string>",
"wallets": [],
"merchant_connector_details": {
"creds_identifier": "<string>",
"encoded_data": {
"connector_account_details": {},
"metadata": {}
}
}
}
headers = {
"api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
payment_id: '<string>',
client_secret: '<string>',
wallets: [],
merchant_connector_details: {
creds_identifier: '<string>',
encoded_data: {connector_account_details: {}, metadata: {}}
}
})
};
fetch('https://sandbox.birrpay.io/payments/session_tokens', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.birrpay.io/payments/session_tokens",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'payment_id' => '<string>',
'client_secret' => '<string>',
'wallets' => [
],
'merchant_connector_details' => [
'creds_identifier' => '<string>',
'encoded_data' => [
'connector_account_details' => [
],
'metadata' => [
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.birrpay.io/payments/session_tokens"
payload := strings.NewReader("{\n \"payment_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"wallets\": [],\n \"merchant_connector_details\": {\n \"creds_identifier\": \"<string>\",\n \"encoded_data\": {\n \"connector_account_details\": {},\n \"metadata\": {}\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox.birrpay.io/payments/session_tokens")
.header("api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"payment_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"wallets\": [],\n \"merchant_connector_details\": {\n \"creds_identifier\": \"<string>\",\n \"encoded_data\": {\n \"connector_account_details\": {},\n \"metadata\": {}\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.birrpay.io/payments/session_tokens")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"payment_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"wallets\": [],\n \"merchant_connector_details\": {\n \"creds_identifier\": \"<string>\",\n \"encoded_data\": {\n \"connector_account_details\": {},\n \"metadata\": {}\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"payment_id": "<string>",
"client_secret": "<string>",
"session_token": [
{
"delayed_session_token": true,
"connector": "<string>",
"sdk_next_action": {
"next_action": "post_session_tokens"
},
"wallet_name": "google_pay"
}
]
}{
"error_type": "invalid_request",
"message": "Missing required param: {param}",
"code": "IR_04"
}Authorizations
Publishable keys are a type of keys that can be public and have limited scope of usage.
Body
The identifier for the payment
This is a token which expires after 15 minutes, used from the client to authenticate and create sessions from the SDK
The list of the supported wallets
Indicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
ach, affirm, afterpay_clearpay, alfamart, ali_pay, ali_pay_hk, alma, amazon_pay, paysera, apple_pay, atome, bacs, bancontact_card, becs, benefit, bizum, blik, bluecode, boleto, bca_bank_transfer, bni_va, breadpay, bri_va, bhn_card_network, card_redirect, cimb_va, classic, credit, crypto_currency, cashapp, dana, danamon_va, debit, duit_now, efecty, eft, eps, flexiti, fps, evoucher, giropay, givex, google_pay, go_pay, gcash, ideal, interac, indomaret, klarna, kakao_pay, local_bank_redirect, mandiri_va, knet, mb_way, mobile_pay, momo, momo_atm, multibanco, online_banking_thailand, online_banking_czech_republic, online_banking_finland, online_banking_fpx, online_banking_poland, online_banking_slovakia, oxxo, pago_efectivo, permata_bank_transfer, open_banking_uk, pay_bright, payjustnow, paypal, paze, pix, pay_safe_card, przelewy24, prompt_pay, pse, qris, red_compra, red_pagos, samsung_pay, sepa, sepa_bank_transfer, sepa_guarenteed_debit, skrill, sofort, swish, touch_n_go, trustly, twint, upi_collect, upi_intent, upi_qr, vipps, viet_qr, venmo, walley, we_chat_pay, seven_eleven, lawson, mini_stop, family_mart, seicomart, pay_easy, local_bank_transfer, mifinity, open_banking_pis, direct_carrier_billing, instant_bank_transfer, instant_bank_transfer_finland, instant_bank_transfer_poland, revolut_pay, indonesian_bank_transfer, open_banking, network_token Merchant connector details used to make payments.
Show child attributes
Show child attributes
Response
Payment session object created or session token was retrieved from wallets
The identifier for the payment
This is a token which expires after 15 minutes, used from the client to authenticate and create sessions from the SDK
The list of session token object
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
- Option 9
- Option 10
- Option 11
Show child attributes
Show child attributes