Ошибка Брейнтри с обработкой ajax

Привет всем, я пытаюсь разобраться с ошибками Braintree, но столкнулся с небольшой проблемой... У меня есть приложение vuejs, которое делает ajax-вызов php-страницы для создания карты. Она возвращает объект json, который выглядит так:

{"errors":{},"params":{"creditCard":{"customerId":"885008723","cardholderName":"Holy Sam","expirationMonth":"01","expirationYear":"20","options":{"verifyCard":"true"}},"merchantId":"ygpmj36rrztwbw6x"},"message":"Credit card type is not accepted by this merchant account.\nCredit card number is invalid.","creditCardVerification":null,"transaction":null,"subscription":null,"merchantAccount":null,"verification":null}

Как вы можете видеть, он выдает мне сообщение об ошибке, но без кода ошибки. Как получить коды ошибок Braintree в объекте ответа? Почему массив ошибок пуст, а я все еще получаю сообщение? Также Braintree проверяет дату истечения срока действия, чтобы удостовериться, что это действительная карта, и если да, то как бы я справился с этим, поскольку я не увидел код ошибки для нее.

Вот код, который я использую на странице php:

    <?php
  date_default_timezone_set('America/Denver');
  $request_body = file_get_contents('php://input');
  $json = json_decode($request_body);

  require_once 'lib/Braintree.php';

  $gateway = new Braintree_Gateway([
    'environment' => 'sandbox',
    'merchantId' => 'key',
    'publicKey' => 'key',
    'privateKey' => 'key'
  ]);

  $result = $gateway->creditCard()->create([
    'customerId' => $json->customerId,
    'cardholderName' => $json->Name,
    'number' => $json->cardNumber,
    'expirationMonth' => $json->Month,
    'expirationYear' => $json->Year,
    'cvv' => $json->Cvv,
    'options' => [
    'verifyCard' => true]
  ]);
  echo json_encode($result);
?>

0 ответов

Другие вопросы по тегам