ferdhika31 / ipaymu-php
PHP Client for iPaymu API
0.2
2020-11-27 07:40 UTC
Requires
- php: ^7.4
- ext-curl: *
- ext-json: *
- guzzlehttp/guzzle: ^7.2
Requires (Dev)
- phpunit/phpunit: ^9.4
README
iPaymu API wrapper written in PHP for access from applications.
Documentation
For the API documentation, please check iPaymu API Documentation.
Installation
Install the package with composer by following command:
composer require ferdhika31/ipaymu-php
Usage
Initialization
Configure package with your account's secret key obtained from iPaymu Dashboard. You can use production or sandbox environment.
<?php use ferdhika31\iPaymuPHP\iPaymu; $config = [ 'env' => 'SANDBOX', // SANDBOX or PRODUCTION 'virtual_account' => 'your_virtual_account', 'api_key' => 'your_api_key', 'notify_uri' => 'http://localhost:8000/notify', // for redirect payment is required 'cancel_uri' => 'http://localhost:8000/cancel', 'return_uri' => 'http://localhost:8000/return' ]; iPaymu::init($config);
See example codes for more details.
Get Balance
<?php use ferdhika31\iPaymuPHP\Balance; $getBalance = Balance::getBalance();
Set Customer
<?php $customer = [ 'name' => 'Dika', 'email' => 'fer@dika.web.id', 'phone' => '083213123332' ]; iPaymu::setCustomer($customer);
Add Product
<?php iPaymu::addProduct([ 'name' => 'Mangga', 'qty' => 2, 'price' => 2500, 'description' => 'Mangga cobian' ]); iPaymu::addProduct([ 'name' => 'Jeruk', 'qty' => 1, 'price' => 1500, 'description' => 'Jeruk haseum' ]);
Create Redirect Payment
<?php use ferdhika31\iPaymuPHP\PaymentRedirect; // optional $payloadTrx = [ 'expired' => 1, // in hours 'comments' => 'Transaction comment here', 'referenceId' => 'TRX202008310001' ]; $redirectPayment = PaymentRedirect::create($payloadTrx);
Create Redirect Payment with Payment Method
<?php use ferdhika31\iPaymuPHP\PaymentRedirect; // optional $payloadTrx = [ 'expired' => 1, // in hours 'comments' => 'Transaction comment here', 'referenceId' => 'TRX202008310001' ]; $redirectPayment = PaymentRedirect::mandiriVA()->create($payloadTrx); $redirectPayment = PaymentRedirect::niagaVA()->create($payloadTrx); $redirectPayment = PaymentRedirect::BNIVA()->create($payloadTrx); $redirectPayment = PaymentRedirect::BAGVA()->create($payloadTrx); $redirectPayment = PaymentRedirect::BCATransfer()->create($payloadTrx); $redirectPayment = PaymentRedirect::QRIS()->create($payloadTrx); $redirectPayment = PaymentRedirect::CStore()->create($payloadTrx); $redirectPayment = PaymentRedirect::creditCard()->create($payloadTrx); $redirectPayment = PaymentRedirect::COD()->create($payloadTrx); $redirectPayment = PaymentRedirect::akulaku()->create($payloadTrx);
Create Direct Payment
<?php use ferdhika31\iPaymuPHP\PaymentDirect; $payloadTrx = [ 'amount' => 5000, // optional 'expired' => 10, 'expiredType' => 'minutes', // in:seconds,minutes,hours,days 'comments' => 'Transaction comment here', 'referenceId' => 'TRX202008310001' ]; // Available channel Virtual Account : bag, bni, cimb (default), mandiri $channel = 'mandiri'; $directPayment = PaymentDirect::VA($channel)->create($payloadTrx); // Available channel Transfer Bank : bca (default) $channel = 'bca'; $directPayment = PaymentDirect::bankTransfer($channel)->create($payloadTrx); // Available channel Convenience Store : indomaret (default), alfamart $channel = 'alfamart'; $directPayment = PaymentDirect::cStore($channel)->create($payloadTrx); // Available channel: linkaja (default) $channel = 'linkaja'; $directPayment = PaymentDirect::QRIS($channel)->create($payloadTrx);
Get Transaction Detail
<?php use ferdhika31\iPaymuPHP\Transaction; $id = 27958; $getTrx = Transaction::getById($id);
Running
Running test suite:
vendor\bin\phpunit tests vendor\bin\phpunit tests\BalanceTest.php
Running examples:
php examples\CheckBalanceExample.php
Contributing
For any requests, bugs, or comments, please open an issue or submit a pull request.