Я хочу интегрировать модули «Создание счета» в Paystack в мой веб-сайт. Это потому, что я хочу, чтобы клиенты могли делать свой выбор и платить за товар позже, а не платить за него немедленно, и я увидел модуль «Создание счета-фактуры» в paystack, но я не могу заставить его работать.
Нижемой код;
function sendPaystackInvoice() {
var checkInv = PaystackPop.setup({
key: 'key', //put your public key here
description: "This is Your Invoice",
line_items: [
{
name: document.getElementById("userOption").value,
amount: document.getElementById("res").value * 100
},
],
customer: document.getElementById("emailA").value,
due_date: "2019-30-10"
},
callback: function (response) {
$.post("createInv.php", {reference:response.reference}, function(status){
if(status == "success")
//successful transaction
alert('Sales Invoice Sent');
else
//transaction failed
alert(response);
});
}),
onClose: function () {
//when the user close the payment modal
alert('Transaction cancelled');
}
});
checkInv.openIframe();//open the paystack's payment modal
}
Я успешно интегрировал транзакцию Initialize, и она работает очень хорошо, но мне нужна помощь, чтобы сделать это.
Ниже приведен файл createInv.php;
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.paystack.co/paymentrequest",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\n\t\"description\": \"a test invoice\",\n\t\"line_items\": [\n\t\t{\"name\": \"item 1\", \"amount\": 20000},\n\t\t{\"name\": \"item 2\", \"amount\": 20000}\n\t],\n\t\"tax\": [\n\t\t{\"name\": \"VAT\", \"amount\": 2000}\n\t],\n\t\"customer\": \"CUS_je02lbimlqixzax\",\n\t\"due_date\": \"2017-05-08\"\n}",
CURLOPT_HTTPHEADER => array(
"authorization: Bearer SECRET_KEY",
"content-type: application/json"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}