Вопрос связан с JS на стороне клиента PayPal JavaScript SDK
https://developer.paypal.com/docs/checkout/reference/server-integration/capture-transaction/#on-the-server.
Как работает fetch
функция?
Согласно официальной документации, клиентская сторона похожа на:
paypal.Buttons({
createOrder: function(data, actions) {
return actions.order.create({
purchase_units: [{
amount: {
value: '0.01'
}
}]
});
},
onApprove: function( data, actions ) {
return actions.order.capture().then( function(details) {
//alert('Transaction completed by ' + details.payer.name.given_name);
// Call your server to save the transaction
//console.log('Transaction completed' ); alert(details);
console.log( 'data.orderID = ' + data.orderID );
document.getElementById('orderID').value = data.orderID;
console.log('data'); console.log(data);
console.log('Transaction completed by ' + details.payer.name.given_name );
//return fetch('/paypal-transaction-complete', {
return fetch( 'https://domain.biz/pay/ppal_1025/EN/pay', {
method: 'POST',
body: JSON.stringify({
orderID: data.orderID,
submitPpal: 1 //imitation of submit button
})
}); // return fetch( 'https://typejoy.biz/pay/ppal_1025/EN/pay
}); // return actions.order.capture().then( function(details
} // onApprove: function(data, actions
}).render('#payPp');
Я не понимаю, как работает:
return fetch( 'https://domain.biz/pay/ppal_1025/EN/pay', { <... > } )
Я не вижу результатов POST в файлах, связанных с URL https://domain.biz/pay/ppal_1025/EN/pay
Пустой POST регистрируется на out.php
для URL https://domain.biz/pay/ppal_1025/EN/pay
file_put_contents( __DIR__'/out.php', json_encode( $_POST ) .' from '.__FILE__ );
PayBundle \ Resources \ действия \ Ppal \ action.php
echo "<br> POST ="; print_r($_POST);
file_put_contents( PHP_EOL. PHP_EOL. __DIR__ .'/out.php', json_encode( $_POST ) .' from '.__FILE__ , FILE_APPEND );