Sample code for 30+ languages & platforms
Java

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 Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Crypt2;
import com.chilkatsoft.chilkat2.Http;
import com.chilkatsoft.chilkat2.HttpResponse;
import com.chilkatsoft.chilkat2.JsonObject;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example assumes the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Http http = new 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"
        //   }
        // }

        JsonObject json = new JsonObject();
        json.updateInt("amount", 45671);
        json.updateString("externalId", "234567898654");
        json.updateString("description", "Test transaction");
        json.updateString("buyer.email", "jan.kowalski@melements.pl");

        String myApiAccessKey = "c12c386b-650b-43db-9430-d84fc05d9433";
        String mySigCalcKey = "b758f20d-ba92-44fa-acca-f57e99787b9d";

        // Calculate the Signature header.
        Crypt2 crypt = new Crypt2();
        crypt.setMacAlgorithm("hmac");
        crypt.setEncodingMode("base64");
        crypt.setMacKeyString(mySigCalcKey);
        crypt.setHashAlgorithm("SHA-256");
        String messageBody = json.emit();
        String signature = crypt.macStringENC(messageBody);

        http.setRequestHeader("Idempotency-Key", crypt.generateUuid());
        http.setRequestHeader("Api-Key", myApiAccessKey);
        http.setRequestHeader("Signature", signature);
        http.setRequestHeader("Content-Type", "application/json");
        http.setAccept("application/json");

        HttpResponse resp = new HttpResponse();
        try {
            http.httpJson("POST", "https://api.sandbox.paynow.pl/v1/payments", json, "application/json", resp);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        System.out.println("Response body:");
        System.out.println(resp.getBodyStr());

        // Sample response:
        // {
        //   "redirectUrl": "https://paywall.sandbox.paynow.pl/NOA0-YJ9-Y1P-29V?token=eyJraWQiOiJhMD ... L60wk",
        //   "paymentId": "NOA0-YJ9-Y1P-29V",
        //   "status": "NEW"
        // }

        JsonObject jsonResp = new JsonObject();
        jsonResp.load(resp.getBodyStr());
        String redirectUrl = json.stringOf("redirectUrl");
        String paymentId = json.stringOf("paymentId");
        String status = json.stringOf("status");
    }
}