Хорошо, проблема в том, что мое всплывающее окно 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());
}