Sample code for 30+ languages & platforms
Java Requires Chilkat v11.0.0+

PayPal - Find Authorizations

See more PayPal Examples

Finds previously created authorizations.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.JsonObject;
import com.chilkatsoft.chilkat2.Rest;
import com.chilkatsoft.chilkat2.StringBuilder;

public class ChilkatExample {

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

        // Load our previously obtained access token. (see PayPal OAuth2 Access Token)
        JsonObject jsonToken = new JsonObject();
        jsonToken.loadFile("qa_data/tokens/paypal.json");

        // Build the Authorization request header field value.
        StringBuilder sbAuth = new StringBuilder();
        // token_type should be "Bearer"
        sbAuth.append(jsonToken.stringOf("token_type"));
        sbAuth.append(" ");
        sbAuth.append(jsonToken.stringOf("access_token"));

        // Make the initial connection.
        // A single REST object, once connected, can be used for many PayPal REST API calls.
        // The auto-reconnect indicates that if the already-established HTTPS connection is closed,
        // then it will be automatically re-established as needed.
        Rest rest = new Rest();
        boolean bAutoReconnect = true;
        try {
            rest.connect("api.sandbox.paypal.com", 443, true, bAutoReconnect);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // ----------------------------------------------------------------------------------------------
        // The code above this comment could be placed inside a function/subroutine within the application
        // because the connection does not need to be made for every request.  Once the connection is made
        // the app may send many requests..
        // ----------------------------------------------------------------------------------------------

        // Clear the REST object of any headers or query params from previous requests.
        rest.clearAllHeaders();
        rest.clearAllQueryParams();

        rest.addHeader("Authorization", sbAuth.getAsString());

        // To find authoriaztions, we list payments and look for those
        // containing "authorization" transactions
        rest.addQueryParam("count", "100");
        rest.addQueryParam("start_index", "0");
        rest.addQueryParam("sort_by", "update_time");
        rest.addQueryParam("sort_order", "asc");

        // Send the GET request and get the JSON response.
        StringBuilder sbJsonResponse = new StringBuilder();
        try {
            rest.fullRequestNoBodySb("GET", "/v1/payments/payment", sbJsonResponse);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        JsonObject json = new JsonObject();
        json.setEmitCompact(false);
        json.loadSb(sbJsonResponse);

        // (optional) Save the entire JSON response to a file to examine if desired..
        StringBuilder sbTemp = new StringBuilder();
        json.emitSb(sbTemp);
        sbTemp.writeFile("qa_output/paypal_payments.json", "utf-8", false);

        System.out.println("Response Status Code = " + rest.getResponseStatusCode());

        // Did we get a 200 success response?
        if (rest.getResponseStatusCode() != 200) {
            System.out.println(json.emit());
            System.out.println("Failed.");
            return;
        }

        // We are looking for "authorization" transactions .
        // As shown below, we are looking in the "transactions" for "related_resources"
        // containing "authorization" JSON objects.

        //     {
        //       "payments": [
        //         {
        //           "id": "PAY-3SL8976592063093RLA3DMAY",
        //           "create_time": "2016-11-24T00:36:19Z",
        //           "update_time": "2016-11-24T00:36:24Z",
        //           "state": "approved",
        //           "intent": "authorize",
        //           "payer": {
        //             "payment_method": "credit_card",
        //             "funding_instruments": [
        //               {
        //                 "credit_card_token": {
        //                   "credit_card_id": "CARD-52W84623JH8043102LA3CLGA",
        //                   "payer_id": "user12345",
        //                   "last4": "9974",
        //                   "type": "visa",
        //                   "expire_month": "9",
        //                   "expire_year": "2021"
        //                 }
        //               }
        //             ]
        //           },
        //           "transactions": [
        //             {
        //               "amount": {
        //                 "total": "6.70",
        //                 "currency": "USD",
        //                 "details": {
        //                   "subtotal": "6.70"
        //                 }
        //               },
        //               "description": "This is the payment transaction description.",
        //               "related_resources": [
        //                 {
        //                   "authorization": {
        //                     "id": "6HG91590AX913463C",
        //                     "create_time": "2016-11-24T00:36:19Z",
        //                     "update_time": "2016-11-24T00:36:24Z",
        //                     "amount": {
        //                       ...
        //                       }
        //                     },
        //                     "state": "authorized",
        //                     "parent_payment": "PAY-3SL8976592063093RLA3DMAY",
        //                     "valid_until": "2016-12-23T00:36:19Z",
        //             ...
        //

        // Iterate over the payments and show each authorization
        JsonObject jsonAuth = new JsonObject();
        int numPayments = json.sizeOfArray("payments");
        int i = 0;
        while (i < numPayments) {
            json.setI(i);
            int j = 0;
            int numTransactions = json.sizeOfArray("payments[i].transactions");
            while (j < numTransactions) {
                json.setJ(j);
                int numRelatedResources = json.sizeOfArray("payments[i].transactions[j].related_resources");
                int k = 0;
                while (k < numRelatedResources) {
                    json.setK(k);
                    if (json.hasMember("payments[i].transactions[j].related_resources[k].authorization")) {
                        json.objectOf2("payments[i].transactions[j].related_resources[k].authorization", jsonAuth);

                        System.out.println("authorization id: " + jsonAuth.stringOf("id"));
                        System.out.println("state: " + jsonAuth.stringOf("state"));
                        System.out.println("total: " + jsonAuth.stringOf("amount.total"));
                        System.out.println("----");
                    }

                    k = k + 1;
                }

                j = j + 1;
            }

            i = i + 1;
        }

        System.out.println("success");
    }
}