PureBasic / New FreshBooks / Gateway Details
Back to Collection Items
IncludeFile "CkJsonObject.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkHttp.pb"
Procedure ChilkatExample()
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success.i
; Adds the "Authorization: Bearer <access_token>" header.
CkHttp::setCkAuthToken(http, "<access_token>")
sbResponseBody.i = CkStringBuilder::ckCreate()
If sbResponseBody.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkHttp::ckQuickGetSb(http,"https://api.freshbooks.com/payments/account/{{accountId}}/gateway",sbResponseBody)
If success = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
ProcedureReturn
EndIf
jResp.i = CkJsonObject::ckCreate()
If jResp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckLoadSb(jResp,sbResponseBody)
CkJsonObject::setCkEmitCompact(jResp, 0)
Debug "Response Body:"
Debug CkJsonObject::ckEmit(jResp)
respStatusCode.i = CkHttp::ckLastStatus(http)
Debug "Response Status Code = " + Str(respStatusCode)
If respStatusCode >= 400
Debug "Response Header:"
Debug CkHttp::ckLastHeader(http)
Debug "Failed."
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
CkJsonObject::ckDispose(jResp)
ProcedureReturn
EndIf
; Sample JSON response:
; (Sample code for parsing the JSON response is shown below)
; {
; "gateway_connections": [
; {
; "stripe": {
; "currencies": [
; "AED",
; "AFN",
; "ALL",
; "AMD",
; "ANG",
; "AOA",
; "ARS",
; "AUD",
; "AWG",
; "AZN",
; "BAM",
; "BBD",
; "BDT",
; "BGN",
; "BIF",
; "BMD",
; "BND",
; "BOB",
; "BRL",
; "BSD",
; "BWP",
; "BZD",
; "CAD",
; "CDF",
; "CHF",
; "CLP",
; "CNY",
; "COP",
; "CRC",
; "CVE",
; "CZK",
; "DJF",
; "DKK",
; "DOP",
; "DZD",
; "EGP",
; "ETB",
; "EUR",
; "FJD",
; "FKP",
; "GBP",
; "GEL",
; "GIP",
; "GMD",
; "GNF",
; "GTQ",
; "GYD",
; "HKD",
; "HNL",
; "HRK",
; "HTG",
; "HUF",
; "IDR",
; "ILS",
; "INR",
; "ISK",
; "JMD",
; "JPY",
; "KES",
; "KGS",
; "KHR",
; "KMF",
; "KRW",
; "KYD",
; "KZT",
; "LAK",
; "LBP",
; "LKR",
; "LRD",
; "LSL",
; "MAD",
; "MDL",
; "MGA",
; "MKD",
; "MMK",
; "MNT",
; "MOP",
; "MRO",
; "MUR",
; "MVR",
; "MWK",
; "MXN",
; "MYR",
; "MZN",
; "NAD",
; "NGN",
; "NIO",
; "NOK",
; "NPR",
; "NZD",
; "PAB",
; "PEN",
; "PGK",
; "PHP",
; "PKR",
; "PLN",
; "PYG",
; "QAR",
; "RON",
; "RSD",
; "RUB",
; "RWF",
; "SAR",
; "SBD",
; "SCR",
; "SEK",
; "SGD",
; "SHP",
; "SLL",
; "SOS",
; "SRD",
; "STD",
; "SZL",
; "THB",
; "TJS",
; "TOP",
; "TRY",
; "TTD",
; "TWD",
; "TZS",
; "UAH",
; "UGX",
; "USD",
; "UYU",
; "UZS",
; "VND",
; "VUV",
; "WST",
; "XAF",
; "XCD",
; "XOF",
; "XPF",
; "YER",
; "ZAR",
; "ZMW"
; ],
; "country": "CA",
; "gateway_user_id": "acct_198989W3477IY7l9murJy",
; "id": "b5d4f07757ff444db095d4877878f3bc6",
; "user_state": "registered",
; "email": "api.freshbooks@gmail.com"
; },
; "fbpay": {
; "currencies": [
; "CAD"
; ],
; "account_id": "27873233720",
; "action_reasons": [
; "kyc",
; "bank_account"
; ],
; "country": "CA",
; "tos_accepted": true,
; "email": "api.freshbooks@gmail.com",
; "manage_account_url": "https://wepay.com/account/2430223721",
; "state": "complete_kyc",
; "bank_info": {
; "bank_name": null,
; "withdrawal_period": null,
; "last_payment_date": null,
; "withdrawal_schedule": [
; ],
; "next_payout_date": null,
; "incoming_pending_amount": "0",
; "last_payment_amount": null,
; "withdrawal_type": null,
; "outgoing_withdrawal_schedule": [
; ],
; "total_payout": "0"
; },
; "pricing": {
; "ach_tier_3": null,
; "percent_amex": "3.50",
; "percent_non_amex_with_card": "2.70",
; "percent_non_amex": "2.90",
; "percent_virtual_terminal": "3.50",
; "percent_amex_with_card": "3.40",
; "ach_tier_1": null,
; "ach_tier_2": null,
; "tier_id": 105,
; "per_transaction_fee": "0.30"
; },
; "visa_debit_accepted": false,
; "id": "1074c55d1195cd470e0989b60a2f4ffad68c",
; "bank_transfer_enabled": true
; }
; }
; ]
; }
; Sample code for parsing the JSON response...
; Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
Country.s
Gateway_user_id.s
Id.s
User_state.s
v_Email.s
Account_id.s
fbpayCountry.s
Tos_accepted.i
fbpayEmail.s
Manage_account_url.s
State.s
Bank_name.s
Withdrawal_period.s
Last_payment_date.s
Next_payout_date.s
Incoming_pending_amount.s
Last_payment_amount.s
Withdrawal_type.s
Total_payout.s
Ach_tier_3.s
Percent_amex.s
Percent_non_amex_with_card.s
Percent_non_amex.s
Percent_virtual_terminal.s
Percent_amex_with_card.s
Ach_tier_1.s
Ach_tier_2.s
Tier_id.i
Per_transaction_fee.s
Visa_debit_accepted.i
fbpayId.s
Bank_transfer_enabled.i
j.i
count_j.i
strVal.s
i.i = 0
count_i.i = CkJsonObject::ckSizeOfArray(jResp,"gateway_connections")
While i < count_i
CkJsonObject::setCkI(jResp, i)
Country = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].stripe.country")
Gateway_user_id = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].stripe.gateway_user_id")
Id = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].stripe.id")
User_state = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].stripe.user_state")
v_Email = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].stripe.email")
Account_id = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.account_id")
fbpayCountry = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.country")
Tos_accepted = CkJsonObject::ckBoolOf(jResp,"gateway_connections[i].fbpay.tos_accepted")
fbpayEmail = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.email")
Manage_account_url = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.manage_account_url")
State = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.state")
Bank_name = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.bank_info.bank_name")
Withdrawal_period = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.bank_info.withdrawal_period")
Last_payment_date = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.bank_info.last_payment_date")
Next_payout_date = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.bank_info.next_payout_date")
Incoming_pending_amount = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.bank_info.incoming_pending_amount")
Last_payment_amount = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.bank_info.last_payment_amount")
Withdrawal_type = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.bank_info.withdrawal_type")
Total_payout = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.bank_info.total_payout")
Ach_tier_3 = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.pricing.ach_tier_3")
Percent_amex = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.pricing.percent_amex")
Percent_non_amex_with_card = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.pricing.percent_non_amex_with_card")
Percent_non_amex = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.pricing.percent_non_amex")
Percent_virtual_terminal = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.pricing.percent_virtual_terminal")
Percent_amex_with_card = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.pricing.percent_amex_with_card")
Ach_tier_1 = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.pricing.ach_tier_1")
Ach_tier_2 = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.pricing.ach_tier_2")
Tier_id = CkJsonObject::ckIntOf(jResp,"gateway_connections[i].fbpay.pricing.tier_id")
Per_transaction_fee = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.pricing.per_transaction_fee")
Visa_debit_accepted = CkJsonObject::ckBoolOf(jResp,"gateway_connections[i].fbpay.visa_debit_accepted")
fbpayId = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.id")
Bank_transfer_enabled = CkJsonObject::ckBoolOf(jResp,"gateway_connections[i].fbpay.bank_transfer_enabled")
j = 0
count_j = CkJsonObject::ckSizeOfArray(jResp,"gateway_connections[i].stripe.currencies")
While j < count_j
CkJsonObject::setCkJ(jResp, j)
strVal = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].stripe.currencies[j]")
j = j + 1
Wend
j = 0
count_j = CkJsonObject::ckSizeOfArray(jResp,"gateway_connections[i].fbpay.currencies")
While j < count_j
CkJsonObject::setCkJ(jResp, j)
strVal = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.currencies[j]")
j = j + 1
Wend
j = 0
count_j = CkJsonObject::ckSizeOfArray(jResp,"gateway_connections[i].fbpay.action_reasons")
While j < count_j
CkJsonObject::setCkJ(jResp, j)
strVal = CkJsonObject::ckStringOf(jResp,"gateway_connections[i].fbpay.action_reasons[j]")
j = j + 1
Wend
j = 0
count_j = CkJsonObject::ckSizeOfArray(jResp,"gateway_connections[i].fbpay.bank_info.withdrawal_schedule")
While j < count_j
CkJsonObject::setCkJ(jResp, j)
j = j + 1
Wend
j = 0
count_j = CkJsonObject::ckSizeOfArray(jResp,"gateway_connections[i].fbpay.bank_info.outgoing_withdrawal_schedule")
While j < count_j
CkJsonObject::setCkJ(jResp, j)
j = j + 1
Wend
i = i + 1
Wend
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
CkJsonObject::ckDispose(jResp)
ProcedureReturn
EndProcedure
Curl Command
curl -X GET
-H "Authorization: Bearer <access_token>"
https://api.freshbooks.com/payments/account/{{accountId}}/gateway
Postman Collection Item JSON
{
"name": "Gateway Details",
"request": {
"method": "GET",
"header": [
],
"url": {
"raw": "https://api.freshbooks.com/payments/account/{{accountId}}/gateway",
"protocol": "https",
"host": [
"api",
"freshbooks",
"com"
],
"path": [
"payments",
"account",
"{{accountId}}",
"gateway"
]
}
},
"response": [
{
"name": "Gateway Details",
"originalRequest": {
"method": "GET",
"header": [
],
"url": {
"raw": "https://api.freshbooks.com/payments/account/{{accountId}}/gateway",
"protocol": "https",
"host": [
"api",
"freshbooks",
"com"
],
"path": [
"payments",
"account",
"{{accountId}}",
"gateway"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Server",
"value": "nginx"
},
{
"key": "Content-Type",
"value": "application/vnd.api+json"
},
{
"key": "X-CardApp-Version",
"value": "1905.6.0"
},
{
"key": "X-NewRelic-App-Data",
"value": "PxQBWV5TCBABV1FUDwYGV1QTGhE1AwE2QgNWEVlbQFtcCxYnRA9QFg1ZWU4FAkpXURQRTEVURAkRQ1VWEUgEA0QHTwNBFkZXQApME1IECQUFQlIWBxpKVkMLFBBUVBVKVB0GHVpVWloEUQFaAAwFCgZSAFAdTAJORgQHVQRTDQUAVVFWVVRVVl0TGlUDChAHbQ=="
},
{
"key": "X-RateLimit-Limit",
"value": "20"
},
{
"key": "X-RateLimit-Remaining",
"value": "0"
},
{
"key": "X-RateLimit-Reset",
"value": "1557346766"
},
{
"key": "Retry-After",
"value": "57"
},
{
"key": "Access-Control-Allow-Origin",
"value": "*"
},
{
"key": "Expires",
"value": "Tue, 08 May 2018 20:18:28 GMT"
},
{
"key": "Cache-Control",
"value": "no-cache"
},
{
"key": "Via",
"value": "1.1 google"
},
{
"key": "Via",
"value": "1.1 varnish"
},
{
"key": "Accept-Ranges",
"value": "bytes"
},
{
"key": "Accept-Ranges",
"value": "bytes"
},
{
"key": "Age",
"value": "0"
},
{
"key": "Age",
"value": "0"
},
{
"key": "Content-Length",
"value": "2097"
},
{
"key": "Date",
"value": "Wed, 08 May 2019 20:18:28 GMT"
},
{
"key": "Connection",
"value": "keep-alive"
},
{
"key": "X-Served-By",
"value": "cache-mdw17361-MDW"
},
{
"key": "X-Cache",
"value": "MISS"
},
{
"key": "X-Cache-Hits",
"value": "0"
},
{
"key": "Country",
"value": "CA"
},
{
"key": "Strict-Transport-Security",
"value": "max-age=31536000; includeSubDomains; preload"
}
],
"cookie": [
],
"body": "{\n \"gateway_connections\": [\n {\n \"stripe\": {\n \"currencies\": [\n \"AED\",\n \"AFN\",\n \"ALL\",\n \"AMD\",\n \"ANG\",\n \"AOA\",\n \"ARS\",\n \"AUD\",\n \"AWG\",\n \"AZN\",\n \"BAM\",\n \"BBD\",\n \"BDT\",\n \"BGN\",\n \"BIF\",\n \"BMD\",\n \"BND\",\n \"BOB\",\n \"BRL\",\n \"BSD\",\n \"BWP\",\n \"BZD\",\n \"CAD\",\n \"CDF\",\n \"CHF\",\n \"CLP\",\n \"CNY\",\n \"COP\",\n \"CRC\",\n \"CVE\",\n \"CZK\",\n \"DJF\",\n \"DKK\",\n \"DOP\",\n \"DZD\",\n \"EGP\",\n \"ETB\",\n \"EUR\",\n \"FJD\",\n \"FKP\",\n \"GBP\",\n \"GEL\",\n \"GIP\",\n \"GMD\",\n \"GNF\",\n \"GTQ\",\n \"GYD\",\n \"HKD\",\n \"HNL\",\n \"HRK\",\n \"HTG\",\n \"HUF\",\n \"IDR\",\n \"ILS\",\n \"INR\",\n \"ISK\",\n \"JMD\",\n \"JPY\",\n \"KES\",\n \"KGS\",\n \"KHR\",\n \"KMF\",\n \"KRW\",\n \"KYD\",\n \"KZT\",\n \"LAK\",\n \"LBP\",\n \"LKR\",\n \"LRD\",\n \"LSL\",\n \"MAD\",\n \"MDL\",\n \"MGA\",\n \"MKD\",\n \"MMK\",\n \"MNT\",\n \"MOP\",\n \"MRO\",\n \"MUR\",\n \"MVR\",\n \"MWK\",\n \"MXN\",\n \"MYR\",\n \"MZN\",\n \"NAD\",\n \"NGN\",\n \"NIO\",\n \"NOK\",\n \"NPR\",\n \"NZD\",\n \"PAB\",\n \"PEN\",\n \"PGK\",\n \"PHP\",\n \"PKR\",\n \"PLN\",\n \"PYG\",\n \"QAR\",\n \"RON\",\n \"RSD\",\n \"RUB\",\n \"RWF\",\n \"SAR\",\n \"SBD\",\n \"SCR\",\n \"SEK\",\n \"SGD\",\n \"SHP\",\n \"SLL\",\n \"SOS\",\n \"SRD\",\n \"STD\",\n \"SZL\",\n \"THB\",\n \"TJS\",\n \"TOP\",\n \"TRY\",\n \"TTD\",\n \"TWD\",\n \"TZS\",\n \"UAH\",\n \"UGX\",\n \"USD\",\n \"UYU\",\n \"UZS\",\n \"VND\",\n \"VUV\",\n \"WST\",\n \"XAF\",\n \"XCD\",\n \"XOF\",\n \"XPF\",\n \"YER\",\n \"ZAR\",\n \"ZMW\"\n ],\n \"country\": \"CA\",\n \"gateway_user_id\": \"acct_198989W3477IY7l9murJy\",\n \"id\": \"b5d4f07757ff444db095d4877878f3bc6\",\n \"user_state\": \"registered\",\n \"email\": \"api.freshbooks@gmail.com\"\n },\n \"fbpay\": {\n \"currencies\": [\n \"CAD\"\n ],\n \"account_id\": \"27873233720\",\n \"action_reasons\": [\n \"kyc\",\n \"bank_account\"\n ],\n \"country\": \"CA\",\n \"tos_accepted\": true,\n \"email\": \"api.freshbooks@gmail.com\",\n \"manage_account_url\": \"https://wepay.com/account/2430223721\",\n \"state\": \"complete_kyc\",\n \"bank_info\": {\n \"bank_name\": null,\n \"withdrawal_period\": null,\n \"last_payment_date\": null,\n \"withdrawal_schedule\": [],\n \"next_payout_date\": null,\n \"incoming_pending_amount\": \"0\",\n \"last_payment_amount\": null,\n \"withdrawal_type\": null,\n \"outgoing_withdrawal_schedule\": [],\n \"total_payout\": \"0\"\n },\n \"pricing\": {\n \"ach_tier_3\": null,\n \"percent_amex\": \"3.50\",\n \"percent_non_amex_with_card\": \"2.70\",\n \"percent_non_amex\": \"2.90\",\n \"percent_virtual_terminal\": \"3.50\",\n \"percent_amex_with_card\": \"3.40\",\n \"ach_tier_1\": null,\n \"ach_tier_2\": null,\n \"tier_id\": 105,\n \"per_transaction_fee\": \"0.30\"\n },\n \"visa_debit_accepted\": false,\n \"id\": \"1074c55d1195cd470e0989b60a2f4ffad68c\",\n \"bank_transfer_enabled\": true\n }\n }\n ]\n}"
}
]
}