Ожидаемый идентификатор кредитной карты будет установлен Braintree ошибка - PullRequest
0 голосов
/ 15 мая 2018

Я делаю код бэкенда для формы, которая обновляет кредитную карту через Braintree. Я уверен, что все мои значения в JSON верны. Однако, когда я использую ajax для перехода на страницу бэкэнда, я получаю следующую ошибку в ответе:

Неустранимая ошибка: необработанное исключение InvalidArgumentException с сообщение «ожидаемый идентификатор кредитной карты будет установлен» в /var/www/html/braiden/braintree/lib/Braintree/CreditCardGateway.php:431
Трассировка стека:
# 0 /var/www/html/braiden/braintree/lib/Braintree/CreditCardGateway.php(152): Braintree \ CreditCardGateway -> _ validateId (NULL)
# 1 /var/www/html/braiden/braintree/updateCreditCardBackend.php(18): Braintree \ CreditCardGateway-> find (NULL)
# 2 {main} добавлено в /var/www/html/braiden/braintree/lib/Braintree/CreditCardGateway.php на линия 431

Вот копия кода, любая помощь здесь была бы полезна. Во-первых, вот json, который я предоставляю бэкэнд-странице: {Имя: "курица", номер карты: "4111111111111111", Cvv: "747", месяц: "12", год: "22"}

Вот код

<?php  require_once 'lib/Braintree.php';
$requestBody = file_get_contents('php://input');
$requestJSON = json_decode($requestBody);
$name = $requestJSON->Name;
$cvv = $requestJSON->Cvv;
$cardNumber = $requestJSON->cardNumber;
$year =  $requestJSON->Year;
$month = $requestJSON->Month;
$token = $requestJSON->Token;

  $gateway = new Braintree_Gateway([
    'environment' => 'sandbox',
    'merchantId' => '********',
    'publicKey' => '********',
    'privateKey' => '********'
  ]);
$creditCard = $gateway->creditCard()->find($token);
$result = $gateway->creditCard()->update($creditCard->token, [
    'cardholderName' => $name,
    'cvv' => $cvv,
    'number' => $cardNumber,
    'expirationMonth' => $month,
    'expirationYear' => $year
]);
?>

1 Ответ

0 голосов
/ 15 мая 2018

Мне пришлось изменить имя в json с токена на токен, и это сработало, видимо токен зарезервирован. вот так {["tok": "this.token"]}

...