The Moka API PHP Client provides convenient access to the Moka API from applications written in the PHP language.
PHP 5.6.0 and later.
You can install the bindings via Composer. Run the following command:
composer require moka/moka-php
To use the bindings, use Composer's autoload:
require_once('vendor/autoload.php');
If you do not wish to use Composer, you can download the latest release. Then, to use the bindings, include the autoload.php
file.
require_once('autoload.php');
The bindings require the following extensions in order to work properly:
If you use Composer, these dependencies should be handled automatically. If you install manually, you'll want to make sure that these extensions are available.
PCI-DSS rules only allow the use of TLS 1.2 and above protocols. Please ensure that your application POST to Moka URL over these protocols. Otherwise, errors such as 'Connection will be closed or Connection Closed' will be received.
Simple usage looks like
$moka = new \Moka\MokaClient([
'dealerCode' => 'xxx',
'username' => 'xxx',
'password' => 'xxx',
]);
By default PHP client connects to Live Environment URL: https://service.moka.com For testing purposes please use Test Environment URL: https://service.refmoka.com
$moka = new \Moka\MokaClient([
'dealerCode' => 'xxx',
'username' => 'xxx',
'password' => 'xxx',
'baseUrl' => 'https://service.refmoka.com'
]);
$moka = new \Moka\MokaClient([
'dealerCode' => 'xxx',
'username' => 'xxx',
'password' => 'xxx',
]);
$request = new Moka\Model\CreatePaymentRequest();
$request->setCardHolderFullName('John Doe');
$request->setCardNumber('5555666677778888');
$request->setExpMonth('09');
$request->setExpYear('2024');
$request->setCvcNumber('123');
$request->setAmount(0.01);
$request->setCurrency('TL');
$request->setInstallmentNumber(1);
$request->setClientIp('192.168.1.116');
$request->setOtherTrxCode('3D5ABC24-456"');
$request->setIsPoolPayment(0);
$request->setIsTokenized(0);
$request->setIntegratorId(0);
$request->setSoftware('Software');
$request->setDescription('');
$request->setIsPreAuth(0);
$buyer = new Moka\Model\Buyer();
$buyer->setBuyerFullName('John Doe');
$buyer->setBuyerGsmNumber('5551110022');
$buyer->setBuyerEmail('email@email.com');
$buyer->setBuyerAddress('Levent Mah. Meltem Sok. İş Kuleleri Kule 2 No: 10 / 4 Beşiktaş / İstanbul');
$request->setBuyerInformation($buyer);
$payment = $moka->payments()->create($request);
$payment->getData();
$payment->getResultCode();
$payment->getResultMessage();
$payment->getException();
See the Moka API docs.
See the Test Cards.