Перейти к содержанию

Проверка

Проверяет данные транзакции в соответствии с правилами: white и black списки, величина лимитов, лимит по скорости и обработка ограничений (например, блокировка карт с определенными BIN).


Запрос

Отправьте POST запрос на https://processing.ecomcharge.com/transactions/checkups со следующими параметрами:

Параметр Тип Описание
amount * обязательный
integer Стоимость в минимальных денежных единицах. Например, $32.45 должна быть отправлена как 3245.
currency * обязательный
string Валюта в ISO-4217 формате, например USD.
description * обязательный
string (255) Описание заказа.
tracking_id * обязательный
string (255) ID транзакции или заказа в вашей системе. Пожалуйста, используйте уникальное значение для того, чтобы при запросе статуса транзакции получить актуальную информацию. В противном случае вы получите первую найденную по tracking_id транзакцию.
duplicate_check boolean Параметр управляет процессом проверки входящего запроса на уникальность. Если в течение 30 секунд придет запрос на проверку с одинаковыми amount и number или token, то запрос будет отклонен. По умолчанию, этот параметр имеет значение true.
language string Язык страницы оформления заказа.

Если параметр установлен и email уведомление о транзакции включено, eComCharge отправит email, локалью которого будет language. По умолчанию - en. Доступные значения параметра language.
notification_url string URL, на который будут приходить уведомления. Формат запроса уведомления аналогичен формату ответа транзакции.
verification_url string URL, на который будут приходить запрос на подтверждение транзакции. Формат запроса на подтверждение аналогичен формату ответа транзакции.
test boolean Транзакция тестовая, если значение true.
credit_card object
number * обязательный
string (19) Номер карты.
holder * обязательный
string (32) Имя владельца карты.
exp_month * обязательный
integer Месяц окончания срока действия карты, представленный двумя цифрами (например, 01).
exp_year * обязательный
integer Год срока окончания действия карты, представленный четырьмя цифрами (например, 2026).
token * условно обязательный
string Вместо 5 параметров выше вы можете отправить токен карты, который вы получили в ответе первой оплаты.
customer * условно обязательный
object Секция информации о покупателе.
Уточните у Службы технической поддержки, необходимо ли передавать параметры данной секции.
ip string IP-адрес клиента, производящего оплату в вашем магазине.
email string email клиента, производящего оплату в вашем магазине.
billing_address object
first_name * условно обязательный
string (30) Имя клиента.
last_name * условно обязательный
string (30) Фамилия клиента.
country * условно обязательный
string Страна клиента в ISO 3166-1 alpha-2 формате.
city * условно обязательный
string (60) Город клиента. Максимальная длина: 60 символов.
state * условно обязательный
string Двухбуквенная абревиатура штата, если страна клиента US или CA.
zip string Почтовый индекс клиента. Для country=US, формат почтового индекса должен иметь вид NNNNN или NNNNN-NNNN.
address * условно обязательный
string (255) Адрес клиента.
phone * условно обязательный
string (100) Номер телефона клиента.
Пример запроса
{
  "request":{
      "amount":100,
      "currency":"USD",
      "description":"Test transaction",
      "tracking_id":"your_uniq_number",
      "language":"en",
      "billing_address":{
        "first_name":"John",
        "last_name":"Doe",
        "country":"US",
        "city":"Denver",
        "state":"CO",
        "zip":"96002",
        "address":"1st Street"
      },
      "credit_card":{
        "number":"4200000000000000",
        "holder":"John Doe",
        "exp_month":"05",
        "exp_year":"2026"
      },
      "customer":{
        "ip":"127.0.0.1",
        "email":"john@example.com"
      }
  }
}
Пример запроса с токеном карты
{
  "request":{
      "amount":100,
      "currency":"USD",
      "description":"Test transaction",
      "tracking_id":"your_uniq_number",
      "billing_address":{
        "first_name":"John",
        "last_name":"Doe",
        "country":"US",
        "city":"Denver",
        "state":"CO",
        "zip":"96002",
        "address":"1st Street"
      },
      "credit_card":{
        "token":"40bd001563085fc35165329ea1ff5c5ecbdbbeef40bd001563085fc35165329e"
      },
      "customer":{
        "ip":"127.0.0.1",
        "email":"john@example.com"
      }
  }
}
Ответ

Параметры ответа копируют параметры запроса за исключением дополнительных:

Параметр Тип Описание
transaction object
uid * обязательный
string UID обработанной транзакции.
status * обязательный
string Статус обработанной транзакции.
message * обязательный
string Сообщение с результатом запроса.
type * обязательный
string Тип транзакции.
tracking_id * обязательный
string Значение параметра tracking_id из запроса.
language * обязательный
string Значение параметра language из запроса или en, если параметр не был передан.
test boolean Транзакция тестовая, если значение true.
payment_method_type * обязательный
string Способ оплаты, используется для завершения транзакции:

credit_card.
credit_card object
brand * required
string Определенный бренд карты.
last_4 * required
string Последние 4 цифры карты.
first_1 * required
string Первая цифра карты.
stamp * required
string Хэш карты. Постоянная величина, даже если дата окончания действия карты или владелец изменены.
token * required
string Токен карты. Позволяет сохранять данные клиентов и производить оплату, когда они делают покупку или вы возобновляете свои услуги.
receipt_url * обязательный
string Ссылка на квитанцию обработанной транзакции.
be_protected_verification object Секция с параметрами проверки beProtected.
Пример ответа, когда правила для beProtected не установлены
{
  "transaction":{
      "customer":{
        "ip":"127.0.0.1",
        "email":"john@example.com"
      },
      "credit_card":{
        "holder":"John Doe",
        "stamp":"3709786942408b77017a3aac8390d46d77d181e34554df527a71919a856d0f28",
        "token":"40bd001563085fc35165329ea1ff5c5ecbdbbeef40bd001563085fc35165329e",
        "brand":"visa",
        "last_4":"0000",
        "first_1":"4",
        "exp_month":5,
        "exp_year":2026
      },
      "receipt_url": "https://gateway.ecomcharge.com/customer/transactions/4107-310b0da80b/11443f39ae75aa1f955a9c9283cd5045bfb0413b65d666f834a9da4e7d3926b5",
      "billing_address":{
        "first_name":"John",
        "last_name":"Doe",
        "address":"1st Street",
        "country":"US",
        "city":"Denver",
        "zip":"96002",
        "state":"CO",
        "phone":null
      },
      "be_protected_verification":{
        "status":"successful",
        "white_black_list":{
          "email":"absent",
          "ip":"absent",
          "card_number":"white"
        },
        "rules":{
          "1_123_My Shop":{},
          "1_John Doe":{},
          "eComCharge":{}
        }
      },
      "uid":"4107-310b0da80b",
      "status":"successful",
      "message":"Successfully processed",
      "amount":100,
      "currency":"USD",
      "description":"Test order",
      "type":"payment",
      "tracking_id":"your_uniq_number",
      "language":"en",
      "test": true
  }
}
Пример ответа транзакции, не прошедшей beProtected проверку
{
  "transaction":{
    "customer":{
      "ip":"127.0.0.1",
        "email":"john@example.com"
    },
    "credit_card":{
      "holder":"Johnathan Doe",
      "stamp":"a825df7faba8804619aef7a6d5a5821ec292fce04e3e43933ca33d0692df90b4",
      "brand":"visa",
      "last_4":"0000",
      "first_1":"4",
      "token":"2bbd9fb7307dace37a9c2db1b4cca6f0c0dd143eac17294daab769224bff6ae2",
      "exp_month":1,
      "exp_year":2026
    },
    "receipt_url": "https://gateway.ecomcharge.com/customer/transactions/1-2d4b20c72a/11443f39ae75aa1f955a9c9283cd5045bfb0413b65d666f834a9da4e7d3926b5",
    "billing_address":{
      "first_name":"John",
      "last_name":"Doe",
      "address":"1st Street",
      "country":"US",
      "city":"Denver",
      "zip":"96002",
      "state":"CO",
      "phone":null
    },
    "be_protected_verification":{
      "status":"failed",
      "message":"Merchant terminal limits exceeded (maximum transaction amount). Transaction didn't pass anti-fraud checks.",
      "limit":{
        "volume":false,
        "count":false,
        "max":true,
        "current_volume":100,
        "current_count":1
      },
      "white_black_list":{
        "card_number":"black",
        "ip":"absent",
        "email":"absent"
      },
      "rules":{
        "1_123_My Shop":{
          "more_100_eur" : {"Transaction amount more than 100 AND Transaction currency is EUR": "passed"}
        },
        "1_John Doe":{},
        "eComCharge":{}
      }
    },
    "uid":"1-2d4b20c72a",
    "status":"failed",
    "amount":100,
    "currency":"USD",
    "description":"Test transaction",
    "type":"payment",
    "tracking_id":"tracking_id_000",
    "message":"Merchant terminal limits exceeded (maximum transaction amount). Transaction didn't pass anti-fraud checks.",
    "test":true,
    "created_at":"2014-06-11T12:05:54+03:00",
    "updated_at":"2014-06-11T12:05:54+03:00",
    "id":"1-2d4b20c72a"
  }
}
Пример ответа транзакции, успешно прошедшей beProtected проверку
{
  "transaction":{
    "customer":{
      "ip":"127.0.0.1",
      "email":"john@example.com"
    },
    "credit_card":{
      "holder":"Johnathan Doe",
      "stamp":"a825df7faba8804619aef7a6d5a5821ec292fce04e3e43933ca33d0692df90b4",
      "brand":"visa",
      "last_4":"0000",
      "first_1":"4",
      "token":"2bbd9fb7307dace37a9c2db1b4cca6f0c0dd143eac17294daab769224bff6ae2",
      "exp_month":1,
      "exp_year":2026
    },
    "receipt_url": "https://gateway.ecomcharge.com/customer/transactions/2-52671c8733/11443f39ae75aa1f955a9c9283cd5045bfb0413b65d666f834a9da4e7d3926b5",
    "billing_address":{
      "first_name":"John",
      "last_name":"Doe",
      "address":"1st Street",
      "country":"US",
      "city":"Denver",
      "zip":"96002",
      "state":"CO",
      "phone":null
    },
    "be_protected_verification":{
      "status":"successful",
      "limit":{
        "volume":false,
        "count":false,
        "max":false,
        "current_volume":90,
        "current_count":1
      },
      "white_black_list":{
        "card_number":"absent",
        "ip":"absent",
        "email":"absent"
      },
      "rules":{
        "1_123_My Shop":{
          "more_100_eur" : {"Transaction amount more than 100 AND Transaction currency is EUR": "passed"}
        },
        "1_John Doe":{},
        "eComCharge":{}
      }
    },
    "uid":"2-52671c8733",
    "status":"successful",
    "amount":90,
    "currency":"USD",
    "description":"Test transaction",
    "type":"payment",
    "tracking_id":"tracking_id_000",
    "message":"Successfully processed",
    "test":true,
    "created_at":"2014-06-11T12:04:59+03:00",
    "updated_at":"2014-06-11T12:04:59+03:00",
  }
}