javascript — Braintree Paypal работает в «песочнице», но не на производстве

Я использую Paypal / Braintree с PHP SDK и настраиваю поток Vault для создания подписок. В Sandbox все работало нормально, но теперь в продукте я получаю код ошибки 93108, сообщение: Unknown paymentMethodNonce.

Мой код на стороне клиента:

braintree.setup(GFormVATVars.br_client_token, "paypal", {
container: "paypal-container",
singleUse: false,
onPaymentMethodReceived: function (obj) {
$(".gform_next_button").show();
$("span#br_pp_message").html('<img height="15" width="15" src="'+GFormVATVars.spinner_gif+'"/>');
$.post(GFormVATVars.ajaxurl,{action: 'process_br_pp_payment_token',token: obj.nonce,security: GFormVATVars.security},function(response) {
$("span#br_pp_message").html(response);
});
return;
}
});

В Ajax-запросе я сохраняю одноразовый номер, а затем использую его в Braintree_Customer :: create

Мой код на стороне сервера:

$cargs = array(
'firstName' => $entry["6.3"],
'lastName' => $entry["6.6"],
'company' => $entry["18"],
'email' => $entry["7"]
$cargs['paymentMethodNonce'] = $_SESSION['wswp_payment_token'];

file_put_contents(dirname(__FILE__)."/logbeforectry.php",print_r($cargs,true));
try {

// Configure Braintree environment
Braintree_Configuration::environment( strtolower( $settings['environment'] ) );
Braintree_Configuration::merchantId( $settings['merchant-id']);
Braintree_Configuration::publicKey( $settings['public-key'] );
Braintree_Configuration::privateKey( $settings['private-key'] );
$cresult = Braintree_Customer::create($cargs);
file_put_contents(dirname(__FILE__)."/logcresult.php",print_r($cresult,true));
}
catch( Exception $e ) {
file_put_contents(dirname(__FILE__)."/catchcresult.php",print_r($e->getMessage(),true));
// Do nothing with exception object, just fallback to generic failure
}

Это возвращает ответ об ошибке, как описано выше. Я проверил, и параметры для $ cargs все заполнены, как и должно быть, включая тот факт, что у одноразового номера есть значение payment_method_nonce, заполненное после входа в систему через всплывающее окно. Странно то, что если вы нажмете кнопку и авторизуетесь снова, это сработает. Пожалуйста, помогите, я вырываю свои волосы с этим.

2

Решение

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

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector