laraditz / 2c2p
Simple laravel package for 2C2P Payment Gateway
Requires
- php: ^7.4|^8.0
- firebase/php-jwt: ^5.4
- illuminate/support: ^7.0|^8.0|^9.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2025-03-17 06:51:59 UTC
README
Simple laravel package for 2C2P Payment Gateway.
Installation
You can install the package via composer:
composer require laraditz/2c2p
Before Start
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
Available Methods
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. |
Usage
You can use service container or facade.
// Using service container app('Twoc2p')->createPayment($data); // Using facade \Twoc2p::createPayment($data);
Create Payment
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." }
Payment Inquiry
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');
Event
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 |
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email raditzfarhan@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.