Simple laravel package for 2C2P Payment Gateway.
You can install the package via composer:
composer require laraditz/2c2p
Configure your variables in your .env
(recommended) or you can publish the config file and change it there.
2C2P_MERCHANT_ID=<your_merchant_id_here>
2C2P_MERCHANT_SECRET=<your_merchant_secret_key_here>
2C2P_CURRENCY_CODE=<your_default_currency_code>
2C2P_SANDBOX_MODE=true # true or false for sandbox mode
(Optional) You can publish the config file via this command:
php artisan vendor:publish --provider="Laraditz\Twoc2p\Twoc2pServiceProvider" --tag="config"
Run the migration command to create the necessary database table.
php artisan migrate
Below are all methods available under this package.
Method name | Description |
---|---|
createPayment() | Create a new payment and get payment URL. |
paymentInquiry() | Inquire on payment details. |
encodeJWT() | Encode content based on 2c2p rules. |
decodeJWT() | Decode content based on 2c2p rules. |
You can use service container or facade.
// Using service container
app('Twoc2p')->createPayment($data);
// Using facade
\Twoc2p::createPayment($data);
To create payment and get the payment URL to be redirected to.
Parameter | Type | Description |
---|---|---|
invoiceNo | string | Unique invoice Number |
description | string | Description of the payment |
amount | decimal | The amount of payment |
frontendReturnUrl | string | Redirect to this URL once payment complete |
Example as below:
app('Twoc2p')->createPayment([
'invoiceNo' => '1523953661',
'description' => 'item 1',
'amount' => 100.00,
'frontendReturnUrl' => 'http://domain.test/your-return-url',
]);
Return example:
array:2 [
"id" => "94a19a34-965a-4e11-acd2-7acb02696f18"
"payment_url" => "https://sandbox-pgw-ui.2c2p.com/payment/4.1/#/token/kSAops9Zwhos8hSTSeLTUxxx"
]
Redirect to the payment_url
to proceed to 2C2P payment page. Once done, you will be redirected to the frontendReturnUrl
. Below is the sample response returned.
{
"invoiceNo": "280520075921",
"channelCode": "CC",
"respCode": "2000",
"respDesc": "Transaction is completed, please do payment inquiry request for full payment information."
}
To inquire on payment details.
Parameter | Type | Description |
---|---|---|
payment_id | string | Payment ID from create payment. |
Example as below:
app('Twoc2p')->paymentInquiry('94a11139-df90-438a-8705-8d88aaa9719e');
This package also provide some events to allow your application to listen to it. You can create your listener and register it under event below.
Event | Description |
---|---|
Laraditz\Twoc2p\Events\BackendReceived | Received backend response from 2C2P for a payment. Can use to update your payment status and other details |
Please see CHANGELOG for more information what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.