Статьи

J2Pay — Начало работы

Приступая к работе, вы узнаете, как быстро начать использовать J2pay.

Скачать

J2Pay доступен на Maven.

1
2
3
4
5
<dependency>
        <groupId>com.tranxactive</groupId>
        <artifactId>j2pay</artifactId>
        <version>2.4.0</version>
    </dependency>

Вы также можете скачать файл jar здесь

пример

В этом примере мы выполним транзакции покупки и повторной оплаты . Сначала мы получим нужный шлюз т.е. Авторизуйтесь

1
Gateway gateway = GatewayFactory.getGateway(AvailableGateways.AUTHORIZE);

Поскольку мы работаем над тестовой средой, мы включим тестовый режим.

1
gateway.setTestMode(true);

Далее мы попросим библиотеку показать нам, каковы параметры API для этого шлюза.

1
2
3
4
5
JSONObject apiSampleParameters = gateway.getApiSampleParameters();
    System.out.println(apiSampleParameters)
     
    //output
    {"name":"also called api user name / api login id","transactionKey":"the transaction key"}

Как мы видим из вывода, библиотека сообщает нам, что для шлюза авторизации требуются два параметра API name иactionKey. Теперь мы будем заполнять эти поля нашими торговыми ценностями.

1
2
apiSampleParameters.put("name", "<your account's user name here>");
    apiSampleParameters.put("transactionKey", "<your account's transaction key here>");

Далее мы будем использовать классы Customer и CustomerCard для передачи информации в метод покупки.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
Customer customer = new Customer();
         
    customer
        .setFirstName("test first name")
        .setLastName("test last name")
        .setCountry(Country.US)
        .setState("TX")
        .setCity("test city")
        .setAddress("test address")
        .setZip("12345")
        .setPhoneNumber("1234567890")
        .setEmail("[email protected]")
        .setIp("127.0.0.1");
         
    CustomerCard customerCard = new CustomerCard();
     
    customerCard
        .setName("test card name")
        .setNumber("5424000000000015") //Authorize test card
        .setCvv(123)
        .setExpiryMonth("01")
        .setExpiryYear("2022");

покупка

Мы все готовы вызвать метод покупки

1
HTTPResponse purchaseResponse = gateway.purchase(apiSampleParameters, customer, customerCard, Currency.USD, 2.5f);

Обработка ответа на покупку

Теперь мы можем проверить, была ли транзакция успешной или неудачной.

1
2
3
if(purchaseResponse.isSuccessful()){
        //some code
    }

Чтобы распечатать полный ответ см ниже фрагмент

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
System.out.println(purchaseResponse.getJSONResponse());
     
    //output
    {
        "lr": {
            "success": true,
            "message": "SUCCESS",
            "transactionId": "3902990127",
            "amount": 45,
            "cardExpiryYear": "2017",
            "cardFirst6": "601160",
            "cardExpiryMonth": "12",
            "maskedCard": "601160******6611",
            "rebillParams": {
                "customerVaultId": "174302554"
            },       
            "voidParams": {
                "transactionId": "3902990127"
            },
            "currencyCode": "USD",
            "cardLast4": "6611",
            "refundParams": {
                "transactionId": "3902990127"
            }
        },
        "gr": { // long gateway response }
    }

Запись

Ответ подробно описан в разделе «Ответы API». Для этого примера единственное, что вам следует знать, это ответ шлюза, разделенный на два ключа.

  1. lr, ответ библиотеки
  2. gr, ответ шлюза

Ответ библиотеки содержит только те значения, которые, по мнению библиотеки, важны для вас и могут быть полезны для дальнейших действий, таких как refund / void / rebill. Помните, что в ответе библиотеки уже подготовлены параметры, необходимые для дальнейших действий в этой транзакции. то есть возврат, повторное перечисление или аннулирование.

ребилл

Помните, что мы сохранили ответ на покупку в переменной purchaseResponse. Ниже приведен код, показывающий, как выполнить транзакцию повторного платежа всего за две строки.

1
2
JSONObject rebillParams = purchaseResponse.getJSONObject("lr").getJSONObject("rebillParams");   
HTTPResponse rebillResponse = gateway.rebill(apiSampleParameters, rebillParams, 50);

Поздравляем с полным руководством по началу работы. Пожалуйста, не стесняйтесь писать нам на [email protected]

Вы также можете увидеть подробный пример здесь .

Опубликовано на Java Code Geeks с разрешения Мухаммеда Ильяса, партнера нашей программы JCG. Смотрите оригинальную статью здесь: Начало работы

Мнения, высказанные участниками Java Code Geeks, являются их собственными.