<?php
namespace App\PayPal;
use PayPal\Api\Payment;
use PayPal\Api\PaymentExecution;
use PayPal\Api\Transaction;
use PayPal\Api\Amount;
use PayPal\Api\Details;
use PayPal\Api\Payer;
use PayPal\Api\Item;
use PayPal\Api\ItemList;
use PayPal\Api\RedirectUrls;
class CreatePayment extends PayPal {
public function start($price, $plan_name, $plan_id, $ref) {
$payer = $this->payer();
$amount = new Amount();
$amount->setCurrency("DKK")
->setTotal($price);
$transaction = new Transaction();
$transaction->setAmount($amount)
->setDescription('Jobvideo subscription')
->setInvoiceNumber(uniqid());
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl("http://www.jobvideo.dk/company_user/sub/execute?price=".$price."&plan_name=".$plan_name."&plan_id=".$plan_id."&ref=".$ref)
->setCancelUrl("http://www.jobvideo.dk/company_user");
$payment = new Payment();
$payment->setIntent("sale")
->setPayer($payer)
->setRedirectUrls($redirectUrls)
->setTransactions(array($transaction));
$payment->create($this->apiContext);
return redirect($payment->getApprovalLink());
}
protected function payer(): Payer {
$payer = new Payer();
$payer->setPaymentMethod("paypal");
return $payer;
}
}
<?php
namespace App\PayPal;
use PayPal\Api\Payment;
use PayPal\Api\PaymentExecution;
use PayPal\Api\Transaction;
use PayPal\Api\Amount;
use PayPal\Api\Details;
use PayPal\Api\Payer;
use PayPal\Api\Item;
use PayPal\Api\ItemList;
use PayPal\Api\RedirectUrls;
class CreatePayment extends PayPal {
public function start($price, $plan_name, $plan_id, $ref) {
$payer = $this->payer();
$amount = new Amount();
$amount->setCurrency("DKK")
->setTotal($price);
$transaction = new Transaction();
$transaction->setAmount($amount)
->setDescription('Jobvideo subscription')
->setInvoiceNumber(uniqid());
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl("http://www.jobvideo.dk/company_user/sub/execute?price=".$price."&plan_name=".$plan_name."&plan_id=".$plan_id."&ref=".$ref)
->setCancelUrl("http://www.jobvideo.dk/company_user");
$payment = new Payment();
$payment->setIntent("sale")
->setPayer($payer)
->setRedirectUrls($redirectUrls)
->setTransactions(array($transaction));
$payment->create($this->apiContext);
return redirect($payment->getApprovalLink());
}
protected function payer(): Payer {
$payer = new Payer();
$payer->setPaymentMethod("paypal");
return $payer;
}
}