Base url: https://api.pos25.app/v1/cf-payment
Token: 8d1300ea96d3cca64918f871318864c6
. Developer can using this Token to test the APIs bellow.
1. Get list chain support
GET
https://api.pos25.app/v1/cf-payment/chain
The API will respond list of blockchain that POS25 support. Information includes name, chain_id, and link logo.
200 success 400: Bad Request error during processing (see field errors)
Copy {
"data" : [
{
"name" : "SCROLL" ,
"chain_id" : 534352 ,
"logo" : "https://s2.coinmarketcap.com/static/img/coins/64x64/26998.png"
} ,
{
"name" : "NAUTILUS" ,
"chain_id" : 22222 ,
"logo" : "https://pbs.twimg.com/profile_images/1626750544642727937/qNCwFLUt_400x400.jpg"
} ,
{
"name" : "BASE" ,
"chain_id" : 8453 ,
"logo" : "https://bridge.base.org/icons/base.svg"
} ,
{
"name" : "SUI" ,
"chain_id" : 101 ,
"logo" : "https://static.atomsolution.vn/sui.png"
}
] ,
"errors" : [] ,
"msg" : "" ,
"error_code" : ""
}
Copy {
"data" : {} ,
"errors" : [
{
"field" : "Some error message"
}
] ,
"msg" : "" ,
"error_code" : "E_BAD_REQUEST"
}
Let's see how you can call this method either through Curl
or Python
:
Curl Python code
Copy curl --location 'https://api.pos25.app/v1/cf-payment/chain' \
--header 'Authorization: Bearer 8d1300ea96d3cca64918f871318864c6'
Copy import requests
url = "https://api.pos25.app/v1/cf-payment/chain"
payload = {}
headers = {
'Authorization' : 'Bearer 8d1300ea96d3cca64918f871318864c6'
}
response = requests . request ( "GET" , url, headers = headers, data = payload)
print (response.text)
2. Get a list of asset support
GET
https://api.pos25.app/v1/cf-payment/asset
The API will retrieve a list of chain assets that the user passes in via chain_id
Query Parameters
200 success 400: Bad Request error during processing (see field errors)
Copy {
"data" : [
{
"asset" : "USDT" ,
"chain" : "SCROLL" ,
"chain_id" : 534352 ,
"decimal" : 6 ,
"logo" : "https://s3.ap-southeast-1.amazonaws.com/static.atomsolution.vn/usdt.png"
}
] ,
"errors" : [] ,
"msg" : "" ,
"error_code" : ""
}
Copy {
"data" : {} ,
"errors" : [
{
"chain_id" : [
"Missing data for required field."
]
}
] ,
"msg" : "Invalid params" ,
"error_code" : "E_BAD_REQUEST"
}
Let's see how you can call this method either through Curl
or Python
:
Curl Python code
Copy curl --location 'https://api.pos25.app/v1/cf-payment/asset?chain_id=534352'
Copy import requests
url = "https://api.pos25.app/v1/cf-payment/asset?chain_id=534352"
payload = {}
headers = {}
response = requests . request ( "GET" , url, headers = headers, data = payload)
print (response.text)
3. API create link payment (Support QR code)
POST
https://api.pos25.app/v1/cf-payment/generate_qr
The API generates link payment. You can generate a QR code from the link and Users can make payments on wallets such as Metamask, TRAM wallet,...
Request Body
200 success 400: Bad Request error during processing (see field errors)
Copy {
"data" : {
"qr_url": "https://app.pos25.app/qr-scan?&order_id=010001&contract_address=0x48736b8AC81E0fa279b571B25C698D631a4407A1¤cy_address=0x55d398326f99059ff775485246999027b3197955&transaction_amount=0.001&act=DEPOSIT&chain_id=22222&decimal=6",
"rate_usd" : 23000 ,
"expire_at" : "04/11/2023 22:50:31"
} ,
"errors" : [] ,
"msg" : "" ,
"error_code" : ""
}
Copy {
"data" : {} ,
"errors" : [
{
"serial_number" : [
"Missing data for required field."
] ,
"fee_value" : [
"Missing data for required field."
]
}
] ,
"msg" : "Invalid data" ,
"error_code" : "E_BAD_REQUEST"
}
Let's see how you can call this method either through Curl
or Python
:
Curl Python code
Copy curl --location 'https://api.pos25.app/v1/cf-payment/generate_qr' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 8d1300ea96d3cca64918f871318864c6' \
--data '
{
"order_id": "010001",
"amount": "0.001",
"asset": "USDT",
"chain_id": 22222,
"currency": "USD",
"fee_value": "0",
"serial_number": "00024500706"
}
'
Copy import requests
import json
url = "https://api.pos25.app/v1/cf-payment/generate_qr"
payload = json . dumps ({
"order_id" : "010001" ,
"amount" : "0.001" ,
"asset" : "USDT" ,
"chain_id" : 22222 ,
"currency" : "USD" ,
"fee_value" : "0" ,
"serial_number" : "00024500706"
})
headers = {
'Content-Type' : 'application/json' ,
'Authorization' : 'Bearer 8d1300ea96d3cca64918f871318864c6'
}
response = requests . request ( "POST" , url, headers = headers, data = payload)
print (response.text)
4. API NFC payment
POST
https://api.pos25.app/v1/cf-payment/generate_nfc
The API performs the above payment using NFC
*NOTE: Currently, payment by NFC is only supported on TRAM wallet
Request Body
200 success 400: Bad Request error during processing (see field errors)
Copy {
"data" : "success" ,
"errors" : [] ,
"msg" : "" ,
"error_code" : ""
}
Copy {
"data" : {} ,
"errors" : [
{
"serial_number" : [
"Missing data for required field."
] ,
"fee_value" : [
"Missing data for required field."
]
}
] ,
"msg" : "Invalid data" ,
"error_code" : "E_BAD_REQUEST"
}
Let's see how you can call this method either through Curl
or Python
:
Curl Python code
Copy curl --location 'https://api.pos25.app/v1/cf-payment/generate_nfc' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 8d1300ea96d3cca64918f871318864c6' \
--data '{
"token": "10f932e3-b85a-4c23-8a88-f830e4bbfe06",
"order_id": "92108",
"amount": "0.01",
"serial_number": "00024500710"
}
'
Copy import requests
import json
url = "https://api.pos25.app/v1/cf-payment/generate_nfc"
payload = json . dumps ({
"token" : "10f932e3-b85a-4c23-8a88-f830e4bbfe06" ,
"order_id" : "92108" ,
"amount" : "0.01" ,
"serial_number" : "00024500710"
})
headers = {
'Content-Type' : 'application/json' ,
'Authorization' : 'Bearer 8d1300ea96d3cca64918f871318864c6'
}
response = requests . request ( "POST" , url, headers = headers, data = payload)
print (response.text)