AutoIt
AutoIt
Paynow.pl -- Make a Payment Request
See more Paynow.pl Examples
Make a payment request POST with prepared message on Paynow payment request endpoint.Chilkat AutoIt Downloads
Local $bSuccess = False
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
$oHttp = ObjCreate("Chilkat.Http")
; Implements the following CURL command:
; curl --request POST 'https://api.sandbox.paynow.pl/v1/payments' \
; -H 'Content-Type: application/json' \
; -H 'Api-Key: c12c386b-650b-43db-9430-d84fc05d9433' \
; -H 'Signature: aYPCytCoc+/wFgqHZJjgBCi20omXTn0yzm9LysJgnFo=' \
; -H 'Idempotency-Key: 59c6dd26-f905-487b-96c9-fd1d2bd76885' \
; --data-raw '{
; "amount": 45671,
; "externalId": "234567898654",
; "description": "Test transaction",
; "buyer": {
; "email": "jan.kowalski@melements.pl"
; }
; }'
; Use the following online tool to generate HTTP code from a CURL command
; Convert a cURL Command to HTTP Source Code
; Use this online tool to generate code from sample JSON:
; Generate Code to Create JSON
; The following JSON is sent in the request body.
; {
; "amount": 45671,
; "externalId": "234567898654",
; "description": "Test transaction",
; "buyer": {
; "email": "jan.kowalski@melements.pl"
; }
; }
$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.UpdateInt("amount",45671)
$oJson.UpdateString("externalId","234567898654")
$oJson.UpdateString("description","Test transaction")
$oJson.UpdateString("buyer.email","jan.kowalski@melements.pl")
Local $sMyApiAccessKey = "c12c386b-650b-43db-9430-d84fc05d9433"
Local $sMySigCalcKey = "b758f20d-ba92-44fa-acca-f57e99787b9d"
; Calculate the Signature header.
$oCrypt = ObjCreate("Chilkat.Crypt2")
$oCrypt.MacAlgorithm = "hmac"
$oCrypt.EncodingMode = "base64"
$oCrypt.SetMacKeyString($sMySigCalcKey)
$oCrypt.HashAlgorithm = "SHA-256"
Local $sMessageBody = $oJson.Emit()
Local $signature = $oCrypt.MacStringENC($sMessageBody)
$oHttp.SetRequestHeader "Idempotency-Key",$oCrypt.GenerateUuid()
$oHttp.SetRequestHeader "Api-Key",$sMyApiAccessKey
$oHttp.SetRequestHeader "Signature",$signature
$oHttp.SetRequestHeader "Content-Type","application/json"
$oHttp.Accept = "application/json"
$oResp = ObjCreate("Chilkat.HttpResponse")
$bSuccess = $oHttp.HttpJson("POST","https://api.sandbox.paynow.pl/v1/payments",$oJson,"application/json",$oResp)
If ($bSuccess = False) Then
ConsoleWrite($oHttp.LastErrorText & @CRLF)
Exit
EndIf
ConsoleWrite("Response body:" & @CRLF)
ConsoleWrite($oResp.BodyStr & @CRLF)
; Sample response:
; {
; "redirectUrl": "https://paywall.sandbox.paynow.pl/NOA0-YJ9-Y1P-29V?token=eyJraWQiOiJhMD ... L60wk",
; "paymentId": "NOA0-YJ9-Y1P-29V",
; "status": "NEW"
; }
$oJsonResp = ObjCreate("Chilkat.JsonObject")
$oJsonResp.Load($oResp.BodyStr)
Local $sRedirectUrl = $oJson.StringOf("redirectUrl")
Local $sPaymentId = $oJson.StringOf("paymentId")
Local $status = $oJson.StringOf("status")