citg / laravel-converge-payment
Laravel Library for Converge Payment Gateway
1.0.1
2025-05-10 14:13 UTC
Requires
- php: ^8.2
Requires (Dev)
- laravel/pint: dev-main
README
This Library is for Converge Payment Gateway It's a Laravel Wrapper around XML endpoint of Converge Payment Gateway
Compatibility
This package will work with PHP >= 8.2 with CURL enabled.
Installation
To install this library follow the following steps:
composer require citg/laravel-converge-payment
Publish Config File
- Execute the following command from the command-line to publish the configuration file config/converge-payment.php. this command will generate a file as above
php artisan vendor:publish --provider="CITG\ConvergePayment\ConvergePaymentServiceProvider"
<?php return [ 'merchant_id' => env('CONVERGE_ID', ''), 'user_id' => env('CONVERGE_USER_ID', ''), 'pin' => env('CONVERGE_PIN', ''), 'endpoint' => env('CONVERGE_ENDPOINT', 'https://api.demo.convergepay.com/VirtualMerchantDemo/process.do'), ];
**Please Note: When you are deploying this application to live. You have to change the endpoint
**
return [ 'merchant_id' => env('CONVERGE_ID', ''), 'user_id' => env('CONVERGE_USER_ID', ''), 'pin' => env('CONVERGE_PIN', ''), 'endpoint' => env('CONVERGE_ENDPOINT', 'https://api.convergepay.com/VirtualMerchant/process.do'), ];
All Transaction Types
TransactionTypes::CC_AUTH_ONLY TransactionTypes::CC_AVS_ONLY TransactionTypes::CC_SALE TransactionTypes::CC_VERIFY TransactionTypes::CC_GET_TOKEN TransactionTypes::CC_CREDIT TransactionTypes::CC_FORCE TransactionTypes::CC_BAL_INQUIRY TransactionTypes::CC_RETURN TransactionTypes::CC_VOID TransactionTypes::CC_COMPLETE TransactionTypes::CC_DELETE TransactionTypes::CC_UPDATE_TIP TransactionTypes::CC_SIGNATURE TransactionTypes::CC_ADD_RECURRING TransactionTypes::CC_ADD_INSTALL TransactionTypes::CC_UPDATE_TOKEN TransactionTypes::CC_DELETE_TOKEN TransactionTypes::CC_QUERY_TOKEN
Create a Customer
use CITG\ConvergePayment\Misc\Customer;
$customer = Customer::make( firstName: 'XXX', lastName: 'XXX', phone: 'XXXXX', email: 'XXXX@xxx.com', address: 'XXX XXX XX', city: 'XXX', state: 'XX', zip: 'XXX', customerCode: 'XXX', customerNumber: 'XX' );
Create a Credit Crad
use CITG\ConvergePayment\Misc\CreditCard;
$creditCard = CreditCard::make( creditCardNumber: 'XXXXXXXXXXXXXXXXXXXXXX', expirationDate: 'XXX', cvv: 'XX' );
Process a Payment
use CITG\ConvergePayment\Enums\TransactionTypes;
use CITG\ConvergePayment\ConvergePaymentManager;
$paymentManager = ConvergePaymentManager::setTransactionType(TransactionTypes::CC_SALE) ->setCreditCard($creditCard) ->setCustomer($customer) ->setAmount(30.00) ->processPayment([ 'description' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX' ]);
Available Methods
Here is a function description table for the main public methods in ConvergePaymentService
:
Method | Description | Parameters | Returns |
---|---|---|---|
setMerchantID($merchantID) |
Set the merchant ID for the transaction. | string $merchantID |
static |
setUserID($userID) |
Set the user ID for the transaction. | string $userID |
static |
setPin($pin) |
Set the PIN for the transaction. | string $pin |
static |
setEndpoint($endpoint) |
Set the API endpoint URL. | string $endpoint |
static |
setTransactionType(TransactionTypes $transactionType) |
Set the transaction type (see TransactionTypes enum). | TransactionTypes $transactionType |
static |
setCreditCard(CreditCard $creditCard) |
Set the credit card details for the transaction. | CreditCard $creditCard |
static |
setCustomer(Customer $customer) |
Set the customer details for the transaction. | Customer $customer |
static |
setAmount(float $amount) |
Set the transaction amount. | float $amount |
static |
processPayment(array $additionalParameters = []) |
Process the payment with the provided details. with an parameter of type array to send additional parameters | array $additionalParameters |
static |
paymentResponse() |
Get the parsed response from the payment gateway. | None | array |
isSuccessful() |
Check if the payment was successful. | None | bool |
errorMessage() |
Get the error message from the response, if any. | None | string |
$paymentManager->setMerchantID($merchantID); $paymentManager->setUserID($userID); $paymentManager->setPin($pin); $paymentManager->setEndpoint($endpoint); $paymentManager->setTransactionType(TransactionTypes::CC_SALE); $paymentManager->setCreditCard($creditCard); $paymentManager->setCustomer($customer); $paymentManager->setAmount(30.00); $paymentManager->processPayment([ 'description' => 'Payment for order #123' ]); $response = $paymentManager->paymentResponse(); $success = $paymentManager->isSuccessful(); $error = $paymentManager->errorMessage();