With VPay Standard and Express, you can easily and safely receive online payments from your customer.
If payer wants to fund payments using VPay, set payer to VPay.(Other payment method ex: paypal, stripe, coin payments etc not available yet).
//Payer Object
$payer = new Payer();
$payer->setPaymentMethod('VPay'); //preferably, your system name, example - VPay
Specify a payment amount and the currency.
//Amount Object
$amountIns = new Amount();
$amountIns->setTotal(20)->setCurrency('USD'); //must give a valid currency code and must exist in merchant wallet list
It’s a Transaction resource where amount object has to set.
//Transaction Object
$trans = new Transaction();
$trans->setAmount($amountIns);
Set the urls where buyer should redirect after transaction is completed or cancelled.
//RedirectUrls Object
$urls = new RedirectUrls();
$urls->setSuccessUrl('http://your-merchant-domain.com/example-success.php') //success url - the merchant domain page, to redirect after successful payment, see sample example-success.php file in sdk root, example - http://vpay.cccr.digital/VPay_sdk/example-success.php
->setCancelUrl('http://your-merchant-domain.com/');//cancel url - the merchant domain page, to redirect after cancellation of payment, example - https://vpay.cccr.digital/VPay_sdk/
It’s a payment resource where all Payer, Amount, RedirectUrls and Credentials of merchant (Client ID and Client Secret) have to set. After initialized into payment object, need to call create method. It will generate a redirect URL. Users have to redirect into this URL to complete the transaction.
//Payment Object
$payment = new Payment();
$payment->setCredentials([ //client id & client secret, see merchants->setting(gear icon)
'client_id' => 'place your client id here', //must provide correct client id of an express merchant
'client_secret' => 'place your client secret here' //must provide correct client secret of an express merchant
])->setRedirectUrls($urls)
->setPayer($payer)
->setTransaction($trans);
try {
$payment->create(); //create payment
header("Location: ".$payment->getApprovedUrl()); //checkout url
} catch (Exception $ex) {
print $ex;
exit; }
Example coderequire 'vendor/autoload.php'; //if you want to change the namespace/path from 'VPay' - lines[1-5] - //to your desired name, i.e. (use VPay\Api\Amount; //to use MyDomain\Api\Amount;), then you must change the folders name that holds the API classes //as well as change the property 'VPay' in (autoload->psr-0) of (php-sdk/composer.json) file to your //desired name and run "composer dump-autoload" command from sdk root use VPay\Api\Payer; use VPay\Api\Amount; use VPay\Api\Transaction; use VPay\Api\RedirectUrls; use VPay\Api\Payment; //Payer Object $payer = new Payer(); $payer->setPaymentMethod('VPay'); //preferably, your system name, example - VPay //Amount Object $amountIns = new Amount(); $amountIns->setTotal(20)->setCurrency('USD'); //must give a valid currency code and must exist in merchant wallet list //Transaction Object $trans = new Transaction(); $trans->setAmount($amountIns);
If you don't see changes after configuring and extracting SDK, go to your SDK root and run the commands below:-