Paycorp Demo - PHP
dev-master
2018-06-12 04:28 UTC
Requires
Requires (Dev)
- phpunit/phpunit: 4.0.*
This package is not auto-updated.
Last update: 2022-01-06 19:02:20 UTC
README
Paycorp's PHP SDK
Installation
The preferred way to install this extension is through composer.
Either run
php composer.phar require paycorp-gateway_demo_library/src: *
or add this line to the require section of your composer.json
file.
"paycorp-gateway_demo_library/src": "*"
Examples
Redirect
<?php use App\paycorp\GatewayClient; use App\paycorp\config\ClientConfig; use App\paycorp\payment\PaymentInitRequest; use App\paycorp\enums\TransactionType; use App\paycorp\component\TransactionAmount; use App\paycorp\component\Redirect; use App\paycorp\exceptions\PaycorpException; $paycorp_credentials = [ 'serviceEndpoint' => 'https://xxxx.paycorp.com.au/rest/service/proxy', 'authToken' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 'hmacSecret' => 'xXxxXxxxxxXXXxXx', 'validateOnly' => FALSE, 'ClientId' => '1234' ]; /** serviceEndpoints ** * sampath bank : https://sampath.paycorp.com.au/rest/service/proxy * commercial bank : https://combank.paycorp.com.au/rest/service/proxy */ $payment = [ 'amount' => 100.00, 'currency' => 'USD', //'clientRef' => '1234', //'comment' => 'test comment', //'extraData' => ["orderId" => 456, "sessionId" => 789] ]; $returnUrl = 'http://localhost/payment/return'; $clientConfig = new ClientConfig(); $clientConfig->setServiceEndpoint($paycorp_credentials['serviceEndpoint']); $clientConfig->setAuthToken($paycorp_credentials['authToken']); $clientConfig->setHmacSecret($paycorp_credentials['hmacSecret']); $clientConfig->setValidateOnly($paycorp_credentials['validateOnly']); $client = new GatewayClient($clientConfig); $initRequest = new PaymentInitRequest(); $initRequest->setClientId($paycorp_credentials['ClientId']); $initRequest->setTransactionType(TransactionType::$PURCHASE); //$initRequest->setClientRef($payment['clientRef']); //$initRequest->setComment($payment['comment']); //$initRequest->setExtraData($payment['extraData']); $transactionAmount = new TransactionAmount($payment['amount'] * 100); $transactionAmount->setCurrency($payment['currency']); $initRequest->setTransactionAmount($transactionAmount); $redirect = new Redirect($returnUrl); $initRequest->setRedirect($redirect); try { $initResponse = $client->getPayment()->init($initRequest); header('Location: ' . $initResponse->getPaymentPageUrl()); //echo $initResponse->getReqid() . '<br>'; //echo $initResponse->getPaymentPageUrl() . '<br>'; //echo $initResponse->getExpireAt() . '<br>'; } catch (Exception $e) { echo 'Caught exception: ' . $e->getMessage() . '<br>'; echo 'Code: ' . $e->getShortCode(); }
Return
<?php use App\paycorp\GatewayClient; use App\paycorp\config\ClientConfig; use App\paycorp\component\TransactionAmount; use App\paycorp\exceptions\PaycorpException; use App\paycorp\payment\PaymentCompleteRequest; $paycorp_credentials = [ 'serviceEndpoint' => 'https://xxxx.paycorp.com.au/rest/service/proxy', 'authToken' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 'hmacSecret' => 'xXxxXxxxxxXXXxXx', 'validateOnly' => FALSE, 'ClientId' => '1234' ]; $clientConfig = new ClientConfig(); $clientConfig->setServiceEndpoint($paycorp_credentials['serviceEndpoint']); $clientConfig->setAuthToken($paycorp_credentials['authToken']); $clientConfig->setHmacSecret($paycorp_credentials['hmacSecret']); $clientConfig->setValidateOnly($paycorp_credentials['validateOnly']); $client = new GatewayClient($clientConfig); $completeRequest = new PaymentCompleteRequest(); $completeRequest->setClientId($paycorp_credentials['ClientId']); $completeRequest->setReqid($_GET['reqid']); try { $completeResponse = $client->getPayment()->complete($completeRequest); $creditCard = $completeResponse->getCreditCard(); $transactionAmount = $completeResponse->getTransactionAmount(); if($completeResponse->getResponseCode() == '00'){ echo $transactionAmount->getPaymentAmount() . '<br>'; echo $transactionAmount->getCurrency() . '<br>'; echo $completeResponse->getTxnReference() . '<br>'; }else{ echo 'ErrorResponseCode: ' . $completeResponse->getResponseCode(); } } catch (PaycorpException $e) { echo 'Caught exception: ' . $e->getMessage() . '<br>'; echo 'Code: ' . $e->getShortCode() . '<br>'; } catch (\Exception $e) { echo 'Caught exception: ' . $e->getMessage() . '<br>'; }