Интеграция Paystack Create Invoice Module с использованием PHP - PullRequest
0 голосов
/ 21 октября 2019

Я хочу интегрировать модули «Создание счета» в 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;
}
...