Открывается всплывающее окно PayPal, а затем закрывается, как только оно открывается при попытке создания транскрипции PayPal с использованием PHP, JSON и JQUERY - PullRequest
0 голосов
/ 10 марта 2019

Хорошо, проблема в том, что мое всплывающее окно PayPal открывается, а затем закрывается, как только оно открывается при попытке создать перевод PayPal.Мне было интересно, как я могу решить эту проблему?

Вот код кнопки PayPal

if($('#paypal').length){
    paypal.Buttons({
        env: 'sandbox',
        locale: 'en_US',
        style:{
            height: 100,
            size:   'responsive',
            shape:  'rect',  
            layout: 'vertical',
            color:  'blue',  
            label: 'checkout'
        },
        createOrder: function(data, actions) {
            return fetch('/create-paypal-transaction.php', {
                method: 'post',
                headers: {
                    'Accept': 'application/json'
                }
            }).then(function(res) {
                console.log(res);
                return res.json();
            }).then(function(data) {
                console.log(data);
                return data.orderID;
            }).catch(function (error) {
                console.log(error);
            });
        }
    }).render('#paypal');
}

Вот код файла create-paypal -action.php

// Construct a request object and set desired parameters
// Here, OrdersCreateRequest() creates a POST request to /v2/checkout/orders
use PayPalCheckoutSdk\Orders\OrdersCreateRequest;
$request = new OrdersCreateRequest();
$request->prefer('return=representation');
$request->body = [
                     "intent" => "CAPTURE",
                     "purchase_units" => [[
                         "reference_id" => "test_ref_id1",
                         "amount" => [
                             "value" => "100.00",
                             "currency_code" => "USD"
                         ]
                     ]],
                     "application_context" => [
                          "cancel_url" => "https://example.com/cancel",
                          "return_url" => "https://example.com/return"
                     ] 
                 ];

try {
    // Call API with your client and get a response for your call
    $response = $client->execute($request);

    // If call returns body in response, you can get the deserialized version from the result attribute of the response
    print_r($response);
}catch (HttpException $ex) {
    echo $ex->statusCode;
    print_r($ex->getMessage());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...