Sample code for 30+ languages & platforms
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

AutoIt
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")