Chilkat Online Tools

DataFlex / New FreshBooks / List Gateways

Back to Collection Items

Use ChilkatAx-9.5.0-win32.pkg

Procedure Test
    Handle hoHttp
    Boolean iSuccess
    Variant vSbResponseBody
    Handle hoSbResponseBody
    Handle hoJResp
    Integer iRespStatusCode
    String sCountry
    String sGateway_user_id
    String sId
    String sUser_state
    String sV_Email
    String sAccount_id
    String sFbpayCountry
    Boolean iTos_accepted
    String sFbpayEmail
    String sManage_account_url
    String sState
    String sBank_name
    String sWithdrawal_period
    String sLast_payment_date
    String sNext_payout_date
    String sIncoming_pending_amount
    String sLast_payment_amount
    String sWithdrawal_type
    String sTotal_payout
    String sAch_tier_3
    String sPercent_amex
    String sPercent_non_amex_with_card
    String sPercent_non_amex
    String sPercent_virtual_terminal
    String sPercent_amex_with_card
    String sAch_tier_1
    String sAch_tier_2
    Integer iTier_id
    String sPer_transaction_fee
    Boolean iVisa_debit_accepted
    String sFbpayId
    Boolean iBank_transfer_enabled
    Integer j
    Integer iCount_j
    String sStrVal
    Integer i
    Integer iCount_i
    String sTemp1

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    Get Create (RefClass(cComChilkatHttp)) To hoHttp
    If (Not(IsComObjectCreated(hoHttp))) Begin
        Send CreateComObject of hoHttp
    End

    // Adds the "Authorization: Bearer <access_token>" header.
    Set ComAuthToken Of hoHttp To "<access_token>"
    Send ComSetRequestHeader To hoHttp "Content-Type" "application/json"

    Get Create (RefClass(cComChilkatStringBuilder)) To hoSbResponseBody
    If (Not(IsComObjectCreated(hoSbResponseBody))) Begin
        Send CreateComObject of hoSbResponseBody
    End
    Get pvComObject of hoSbResponseBody to vSbResponseBody
    Get ComQuickGetSb Of hoHttp "https://api.freshbooks.com/payments/account/{{accountId}}/gateway" vSbResponseBody To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoHttp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get Create (RefClass(cComChilkatJsonObject)) To hoJResp
    If (Not(IsComObjectCreated(hoJResp))) Begin
        Send CreateComObject of hoJResp
    End
    Get pvComObject of hoSbResponseBody to vSbResponseBody
    Get ComLoadSb Of hoJResp vSbResponseBody To iSuccess
    Set ComEmitCompact Of hoJResp To False

    Showln "Response Body:"
    Get ComEmit Of hoJResp To sTemp1
    Showln sTemp1

    Get ComLastStatus Of hoHttp To iRespStatusCode
    Showln "Response Status Code = " iRespStatusCode
    If (iRespStatusCode >= 400) Begin
        Showln "Response Header:"
        Get ComLastHeader Of hoHttp To sTemp1
        Showln sTemp1
        Showln "Failed."
        Procedure_Return
    End

    // 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_19SW34IY7l9murJy",
    //         "id": "b5d4f07757ff444db095d4854b8f3bc6",
    //         "user_state": "registered",
    //         "email": "mjohnston@freshbooks.com"
    //       },
    //       "fbpay": {
    //         "currencies": [
    //           "CAD"
    //         ],
    //         "account_id": "243033720",
    //         "action_reasons": [
    //           "kyc",
    //           "bank_account"
    //         ],
    //         "country": "CA",
    //         "tos_accepted": true,
    //         "email": "rmarr@freshbooks.com",
    //         "manage_account_url": "https://wepay.com/account/243033720",
    //         "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": "1074c55d95cd470eb0b60a2f4ffad68c",
    //         "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

    Move 0 To i
    Get ComSizeOfArray Of hoJResp "gateway_connections" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoJResp To i
        Get ComStringOf Of hoJResp "gateway_connections[i].stripe.country" To sCountry
        Get ComStringOf Of hoJResp "gateway_connections[i].stripe.gateway_user_id" To sGateway_user_id
        Get ComStringOf Of hoJResp "gateway_connections[i].stripe.id" To sId
        Get ComStringOf Of hoJResp "gateway_connections[i].stripe.user_state" To sUser_state
        Get ComStringOf Of hoJResp "gateway_connections[i].stripe.email" To sV_Email
        Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.account_id" To sAccount_id
        Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.country" To sFbpayCountry
        Get ComBoolOf Of hoJResp "gateway_connections[i].fbpay.tos_accepted" To iTos_accepted
        Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.email" To sFbpayEmail
        Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.manage_account_url" To sManage_account_url
        Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.state" To sState
        Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.bank_info.bank_name" To sBank_name
        Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.bank_info.withdrawal_period" To sWithdrawal_period
        Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.bank_info.last_payment_date" To sLast_payment_date
        Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.bank_info.next_payout_date" To sNext_payout_date
        Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.bank_info.incoming_pending_amount" To sIncoming_pending_amount
        Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.bank_info.last_payment_amount" To sLast_payment_amount
        Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.bank_info.withdrawal_type" To sWithdrawal_type
        Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.bank_info.total_payout" To sTotal_payout
        Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.pricing.ach_tier_3" To sAch_tier_3
        Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.pricing.percent_amex" To sPercent_amex
        Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.pricing.percent_non_amex_with_card" To sPercent_non_amex_with_card
        Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.pricing.percent_non_amex" To sPercent_non_amex
        Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.pricing.percent_virtual_terminal" To sPercent_virtual_terminal
        Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.pricing.percent_amex_with_card" To sPercent_amex_with_card
        Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.pricing.ach_tier_1" To sAch_tier_1
        Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.pricing.ach_tier_2" To sAch_tier_2
        Get ComIntOf Of hoJResp "gateway_connections[i].fbpay.pricing.tier_id" To iTier_id
        Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.pricing.per_transaction_fee" To sPer_transaction_fee
        Get ComBoolOf Of hoJResp "gateway_connections[i].fbpay.visa_debit_accepted" To iVisa_debit_accepted
        Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.id" To sFbpayId
        Get ComBoolOf Of hoJResp "gateway_connections[i].fbpay.bank_transfer_enabled" To iBank_transfer_enabled
        Move 0 To j
        Get ComSizeOfArray Of hoJResp "gateway_connections[i].stripe.currencies" To iCount_j
        While (j < iCount_j)
            Set ComJ Of hoJResp To j
            Get ComStringOf Of hoJResp "gateway_connections[i].stripe.currencies[j]" To sStrVal
            Move (j + 1) To j
        Loop

        Move 0 To j
        Get ComSizeOfArray Of hoJResp "gateway_connections[i].fbpay.currencies" To iCount_j
        While (j < iCount_j)
            Set ComJ Of hoJResp To j
            Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.currencies[j]" To sStrVal
            Move (j + 1) To j
        Loop

        Move 0 To j
        Get ComSizeOfArray Of hoJResp "gateway_connections[i].fbpay.action_reasons" To iCount_j
        While (j < iCount_j)
            Set ComJ Of hoJResp To j
            Get ComStringOf Of hoJResp "gateway_connections[i].fbpay.action_reasons[j]" To sStrVal
            Move (j + 1) To j
        Loop

        Move 0 To j
        Get ComSizeOfArray Of hoJResp "gateway_connections[i].fbpay.bank_info.withdrawal_schedule" To iCount_j
        While (j < iCount_j)
            Set ComJ Of hoJResp To j
            Move (j + 1) To j
        Loop

        Move 0 To j
        Get ComSizeOfArray Of hoJResp "gateway_connections[i].fbpay.bank_info.outgoing_withdrawal_schedule" To iCount_j
        While (j < iCount_j)
            Set ComJ Of hoJResp To j
            Move (j + 1) To j
        Loop

        Move (i + 1) To i
    Loop



End_Procedure

Curl Command

curl -X GET
	-H "Authorization: Bearer <access_token>"
	-H "Content-Type: application/json"
https://api.freshbooks.com/payments/account/{{accountId}}/gateway

Postman Collection Item JSON

{
  "name": "List Gateways",
  "request": {
    "method": "GET",
    "header": [
      {
        "key": "Content-Type",
        "value": "application/json",
        "type": "text"
      }
    ],
    "url": {
      "raw": "https://api.freshbooks.com/payments/account/{{accountId}}/gateway",
      "protocol": "https",
      "host": [
        "api",
        "freshbooks",
        "com"
      ],
      "path": [
        "payments",
        "account",
        "{{accountId}}",
        "gateway"
      ]
    }
  },
  "response": [
    {
      "name": "List Gateways",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json",
            "type": "text"
          }
        ],
        "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": "1904.32.0"
        },
        {
          "key": "X-NewRelic-App-Data",
          "value": "PxQBWV5TCBABV1FUDwYGV1QTGhE1AwE2QgNWEVlbQFtcCxYnRA9QFg1ZWU4FAkpXURQRTEVURAkRQ1VWEUgEA0QHTwNBFkZXQApME1IECQUFQlIWBxpKVkMLFBBUVBVKVB0HHVJWV1EFUQhWDgwFBQFWD1IdTAJORlcBBVNTCgBTBwUGUVUPX1MTGlUDChAHbQ=="
        },
        {
          "key": "Access-Control-Allow-Origin",
          "value": "*"
        },
        {
          "key": "Expires",
          "value": "Tue, 24 Apr 2018 18:04: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, 24 Apr 2019 18:04:28 GMT"
        },
        {
          "key": "Connection",
          "value": "keep-alive"
        },
        {
          "key": "X-Served-By",
          "value": "cache-mdw17369-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_19SW34IY7l9murJy\",\n                \"id\": \"b5d4f07757ff444db095d4854b8f3bc6\",\n                \"user_state\": \"registered\",\n                \"email\": \"mjohnston@freshbooks.com\"\n            },\n            \"fbpay\": {\n                \"currencies\": [\n                    \"CAD\"\n                ],\n                \"account_id\": \"243033720\",\n                \"action_reasons\": [\n                    \"kyc\",\n                    \"bank_account\"\n                ],\n                \"country\": \"CA\",\n                \"tos_accepted\": true,\n                \"email\": \"rmarr@freshbooks.com\",\n                \"manage_account_url\": \"https://wepay.com/account/243033720\",\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\": \"1074c55d95cd470eb0b60a2f4ffad68c\",\n                \"bank_transfer_enabled\": true\n            }\n        }\n    ]\n}"
    }
  ]
}