Chilkat Online Tools

PureBasic / Afterpay Online US API v2 / Auth

Back to Collection Items

IncludeFile "CkJsonObject.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpResponse.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

    CkHttp::setCkBasicAuth(http, 1)
    CkHttp::setCkLogin(http, "100100248")
    CkHttp::setCkPassword(http, "117f3fe5a01a0e400f3e4782baf8ffa43a9d21e9217a15f50d545bc72480d081ecaecc1d6a42ac7a785b7437232bd4cf62dbee679b78a75a3892547059018f9b")

    ; Use this online tool to generate code from sample JSON: Generate Code to Create JSON

    ; The following JSON is sent in the request body.

    ; {
    ;   "token": "{{token}}",
    ;   "merchantReference": "merchant-order-number"
    ; }

    json.i = CkJsonObject::ckCreate()
    If json.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonObject::ckUpdateString(json,"token","{{token}}")
    CkJsonObject::ckUpdateString(json,"merchantReference","merchant-order-number")

    CkHttp::ckSetRequestHeader(http,"Content-Type","application/json")
    CkHttp::ckSetRequestHeader(http,"Accept","application/json")

    resp.i = CkHttp::ckPostJson3(http,"https://api.us-sandbox.afterpay.com/v2/payments/auth","application/json",json)
    If CkHttp::ckLastMethodSuccess(http) = 0
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        CkJsonObject::ckDispose(json)
        ProcedureReturn
    EndIf

    Debug Str(CkHttpResponse::ckStatusCode(resp))
    Debug CkHttpResponse::ckBodyStr(resp)
    CkHttpResponse::ckDispose(resp)



    CkHttp::ckDispose(http)
    CkJsonObject::ckDispose(json)


    ProcedureReturn
EndProcedure

Curl Command

curl -X POST
	-u '100100248:117f3fe5a01a0e400f3e4782baf8ffa43a9d21e9217a15f50d545bc72480d081ecaecc1d6a42ac7a785b7437232bd4cf62dbee679b78a75a3892547059018f9b'
	-H "Accept: application/json"
	-H "Content-Type: application/json"
	-d '{
	"token": "{{token}}",
	"merchantReference": "merchant-order-number"
}'
https://api.us-sandbox.afterpay.com/v2/payments/auth

Postman Collection Item JSON

{
  "name": "Auth",
  "event": [
    {
      "listen": "test",
      "script": {
        "id": "ce54d0ec-48f7-43ed-af8e-165c898c6d39",
        "exec": [
          "var jsonData = JSON.parse(responseBody);",
          "postman.setEnvironmentVariable(\"id\", jsonData.id);",
          "postman.setEnvironmentVariable(\"merchantReference\", jsonData.merchantReference);"
        ],
        "type": "text/javascript"
      }
    }
  ],
  "request": {
    "method": "POST",
    "header": [
      {
        "key": "Accept",
        "value": "application/json"
      },
      {
        "key": "Content-Type",
        "value": "application/json",
        "type": "text"
      }
    ],
    "body": {
      "mode": "raw",
      "raw": "{\n\t\"token\": \"{{token}}\",\n\t\"merchantReference\": \"merchant-order-number\"\n}"
    },
    "url": {
      "raw": "https://api.us-sandbox.afterpay.com/v2/payments/auth",
      "protocol": "https",
      "host": [
        "api",
        "us-sandbox",
        "afterpay",
        "com"
      ],
      "path": [
        "v2",
        "payments",
        "auth"
      ]
    },
    "description": "This resource creates a payment authorisation, to be captured at a later date. The authorisation has an expiration date and time. This is returned in the events list for the AUTHED payment event type.\n\nThe authorisation resource is idempotent based on the token. The idempotent nature of the payment resources allows for the safe retry of requests, guaranteeing the operation is only performed once."
  },
  "response": [
  ]
}