Статьи

J2Pay — Ответы API

Вступление

Волшебная вещь в этой библиотеке — ее уникальные ответы, независимо от того, какими бы ни были шлюзы. Как только вы поймете ответы API, вам будет легко использовать этот ответ для дальнейших транзакций, т. Е. Возврата, аннулирования или повторного платежа.

Прежде всего, как мы читали в начале, все ответы — это JSON.

Все ответы разделены на два ключа JSON.

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

Вот как будет выглядеть простой ответ.

1
2
3
4
{
        lr : { //library response },
        gr: { //gateway response}
    }

Ответ J2pay облегчает разработчику проверку ответа шлюзов. Оригинальный ответ шлюза содержит слишком много данных, которые обычно не нужны разработчикам. Для простоты разработчиков J2pay делит ответ шлюза на два ключа lr и gr.

lr response — ответ библиотеки, содержащий только те значения, которые библиотека считает важными для вас, и может быть полезна для дальнейших действий, таких как refund / void / rebill.

Однако вы также можете увидеть полный ответ шлюза в ключе gr.

Ответ библиотеки

В этом разделе мы подробно рассмотрим ответ библиотеки (lr).

Ответ библиотеки далее делится на два ответа: успех и ошибка. Оба из них перечислены ниже.

Сначала взгляните на сообщение об ошибке, которое очень просто и содержит только два ключа. См. ниже.

1
2
3
4
5
6
7
{
        "lr": {
            "success": false,
            "message": "gateway error message",
        },
        "gr": { //long gateway response }
    }

Ответ об ошибке будет одинаковым для всех четырех транзакций.

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

Примечание. Вы можете посмотреть все примеры ответов здесь .

Давайте посмотрим на ответ успеха покупки.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
        "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 }
    }

Ответ на покупку очень прост, поскольку вы можете видеть, что он содержит ключ успеха, который также сообщает, была ли транзакция успешной, плюс сообщение, которое возвращает шлюз. Эти два ключа всегда будут отображаться независимо от того, был ли ответ успешным или нет.

Как вы можете видеть, ответ об успехе также содержит транзакции. Остальные ключи не требуют объяснения, кроме этих трех.

  1. voidParams
  2. refundParams
  3. rebillParams

После успешного выполнения транзакции покупки можно выполнить еще несколько действий с этой транзакцией, т. Е. Вы можете вернуть деньги, аннулировать или повторно (также называемые повторяющимися).

И для всех этих трех действий всем шлюзам требовались разные параметры, некоторым требовался идентификатор транзакции, в то время как некоторым требовались токенизированные переменные с разными именами переменных. Это головная боль для разработчика, если он работает с несколькими шлюзами. Но J2pay уже позаботился об этих проблемах этими тремя ключами в ответе на покупку, описанном выше.

Так, например, если вы хотите вернуть деньги за ранее оплаченную транзакцию. Вы можете передать refundParams, как это указано в запросе на транзакцию возврата, или вы можете напрямую сохранить его в базе данных для возврата позже. То же самое для пустоты и ребилла. Примеры ответов для всех транзакций перечислены в разделе примеров ответов.

Замечания:

Для просмотра всех переменных ответа нажмите здесь .
Чтобы просмотреть все примеры ответов, нажмите здесь .

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

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