Можно ли создать кнопку подписки по paypal, чтоб она открывалась в iframe или как минимум с возможность отследить что пользователь произвел платеж.
Кнопку обычной оплаты создал с помощью js (пример кнопки ниже). Нужна кнопка подписки по paypal, в идеале чтоб она тоже открывалась через iframe программно, но подойдет вариант с возможностью отслеживать это событие через перед адресацию.
//var sum = parseFloat($('#payment_total_sum').text()).toFixed(2);
paypal.Button.render({
env: 'sandbox', // sandbox | production
// PayPal Client IDs - replace with your own
// Create a PayPal app: https://developer.paypal.com/developer/applications/create
client: {
sandbox: 'cawcaw-wcaw',
production: 'Access to site'
},
// Show the buyer a 'Pay Now' button in the checkout flow
commit: true,
// payment() is called when the button is clicked
payment: function (data, actions) {
// Make a call to the REST api to create the payment
return actions.payment.create({
payment: {
transactions: [
{
amount: {total: '0.01', currency: 'USD'}
}
]
}
});
},
// onAuthorize() is called when the buyer approves the payment
onAuthorize: function (data, actions) {
// Make a call to the REST api to execute the payment
return actions.payment.execute().then(function () {
$.ajax({
method: "POST",
url: $('.do_pay_form').attr('action'),
//data: $('.payment_form').serialize(),
//data: $('.payment_form').serialize() + $(this).serialize(),
data: $('.do_pay_form, .payment_form').serialize(),
dataType: 'json',
success: function (data) {
if (data.status == 200) {
$('.do_pay_form')[0].reset();
$('.payment_form')[0].reset();
$('.paid-model').modal('show');
} else {
$('#' + data.error.key).addClass('input_container_error');
}
},
beforeSend: function () {
}
});
});
}
}, '#paypal-button-container');