iPaymu API wrapper written in PHP for access from applications.
For the API documentation, please check iPaymu API Documentation.
Install the package with composer by following command:
composer require ferdhika31/ipaymu-php
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.
<?php
use ferdhika31\iPaymuPHP\Balance;
$getBalance = Balance::getBalance();
<?php
$customer = [
'name' => 'Dika',
'email' => '[email protected]',
'phone' => '083213123332'
];
iPaymu::setCustomer($customer);
<?php
iPaymu::addProduct([
'name' => 'Mangga',
'qty' => 2,
'price' => 2500,
'description' => 'Mangga cobian'
]);
iPaymu::addProduct([
'name' => 'Jeruk',
'qty' => 1,
'price' => 1500,
'description' => 'Jeruk haseum'
]);
<?php
use ferdhika31\iPaymuPHP\PaymentRedirect;
// optional
$payloadTrx = [
'expired' => 1, // in hours
'comments' => 'Transaction comment here',
'referenceId' => 'TRX202008310001'
];
$redirectPayment = PaymentRedirect::create($payloadTrx);
<?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);
<?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);
<?php
use ferdhika31\iPaymuPHP\Transaction;
$id = 27958;
$getTrx = Transaction::getById($id);
vendor\bin\phpunit tests
vendor\bin\phpunit tests\BalanceTest.php
php examples\CheckBalanceExample.php
For any requests, bugs, or comments, please open an issue or submit a pull request.