Сначала я создал клиента с помощью API, когда клиент успешно создал, он вернул мне customerId, с помощью customerId я создал кредитную карту.
// for creating user
gateway->customer()->create([
'firstName' => $firstName,
'lastName' => $lastName,
'company' => $company,
'email' => $email,
'phone' => $phone,
'fax' => $fax,
'website' => $website
]);
//for creating card
$result = $this->gateway->creditCard()->create([
'customerId' => $customerId,
'number' => $number,
'expirationDate' => $expirationDate,
'cvv' => $cvv
После успешного сохранения карты в хранилище он дает мне жетон. Чтобы получить данные карты, я сделал следующее:
$result = $this->gateway->creditCard()->find($token);
и он вернул мне реквизиты карты. Теперь я хочу выполнить платеж с помощью этой карты или токена (так как я запутался). ранее я успешно производил оплату с помощью падение в пользовательском интерфейсе, но на этот раз я хочу использовать хранилище



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Full disclosure: I work at Braintree. If you have any further questions, feel free to contact support.
Теперь, когда у вас есть токен способа оплаты, вы можете передать это значение в качестве параметра в Вызов API продажи транзакции, чтобы завершить транзакцию с сохраненным методом оплаты, в отличие от способ оплаты nonce, который представляет собой одноразовый метод оплаты.
Пример
$result = $gateway->transaction()->sale(
[
'paymentMethodToken' => 'the_payment_method_token',
'amount' => '100.00'
]
);
Оба они представляют зашифрованную платежную информацию, но главное отличие состоит в том, что payment_method_token может использоваться несколько раз для списания средств с этого метода оплаты и сохраняется в Braintree Vault для использования в будущем. Однако одноразовый номер способа оплаты истекает через 3 часа. Чтобы сохранить метод оплаты в Braintree Vault, вам сначала необходимо сгенерировать и передать одноразовый номер метода оплаты в вызове API создания клиента или создания метода оплаты, но после этого вы можете использовать полученный токен метода оплаты. developers.braintreepayments.com/guides/payment-method-nonce s
Спасибо! Еще одна вещь ... в чем основное различие между payment_token и payment_nonce?