/home/kueuepay/public_html/database/seeders/Admin/PaymentGatewaySeeder.php
<?php

namespace Database\Seeders\Admin;

use App\Models\Admin\PaymentGateway;
use App\Models\Admin\PaymentGatewayCurrency;
use Illuminate\Database\Seeder;

class PaymentGatewaySeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        // Update Seeder Files
        $payment_gateways = array(
            array('id' => '1','slug' => 'add-money','code' => '105','type' => 'AUTOMATIC','name' => 'Paypal','title' => 'Use PayPal for a better experience when depositing money.','alias' => 'paypal','image' => '0bb65be8-a0cf-4d63-b9d7-5f5d7d76ce35.webp','credentials' => '[{"label":"Client ID","placeholder":"Enter Client ID","name":"client-id","value":"ASuAkb_xKKu00hA1Pk32UMJvBqE7-GizN2xxBH2nlQgkvGSpgl_h_fmvYiRw__lSwYnw6Bu0G9qtjEY6"},{"label":"Secret ID","placeholder":"Enter Secret ID","name":"secret-id","value":"EHtZKs6f0h6wDSKykJA4lJMU6GVGTc5GARto_EKQS1R5iGA2Z8n_F8sBQPTmcMWHav1GWNl8iJj169u0"}]','supported_currencies' => '["USD","GBP","PHP","NZD","MYR","EUR","CNY","CAD","AUD"]','crypto' => '0','desc' => NULL,'input_fields' => NULL,'env' => 'SANDBOX','status' => '1','last_edit_by' => '1','created_at' => '2023-05-29 11:09:41','updated_at' => '2023-08-07 10:26:48'),
            array('id' => '2','slug' => 'add-money','code' => '110','type' => 'AUTOMATIC','name' => 'Stripe','title' => 'Make payments effortlessly with Stripe for secure transactions.','alias' => 'stripe','image' => '357e631f-ee53-47cb-b603-71ee46b038c9.webp','credentials' => '[{"label":"Test Publishable Key","placeholder":"Enter Test Publishable Key","name":"test-publishable-key","value":"pk_test_51NECrlJXLo7QTdMco2E4YxHSeoBnDvKmmi0CZl3hxjGgH1JwgcLVUF3ZR0yFraoRgT7hf0LtOReFADhShAZqTNuB003PnBSlGP"},{"label":"Test Secret Key","placeholder":"Enter Test Secret Key","name":"test-secret-key","value":"sk_test_51NECrlJXLo7QTdMc2x7K5LaDuiS0MGNYHkO9dzzV0Y9XuWNZsXjECFsusjZEnqtxMIjCh3qtogc5sHHwL2oQ083900aFy1k7DE"},{"label":"Live Publishable Key","placeholder":"Enter Live Publishable Key","name":"live-publishable-key","value":null},{"label":"Live Secret Key","placeholder":"Enter Live Secret Key","name":"live-secret-key","value":null}]','supported_currencies' => '["USD","AUD","AED","BDT","BGN","CAD","EGP","EUR","GBP","INR","PKR","MYR","NGN"]','crypto' => '0','desc' => NULL,'input_fields' => NULL,'env' => 'SANDBOX','status' => '1','last_edit_by' => '1','created_at' => '2023-11-07 18:31:10','updated_at' => '2023-11-07 18:35:45'),
            array('id' => '3','slug' => 'add-money','code' => '115','type' => 'AUTOMATIC','name' => 'Flutterwave','title' => 'Easily add funds with Flutterwave for a seamless experience.','alias' => 'flutterwave','image' => '56069c39-b494-48e4-a938-98dc00561580.webp','credentials' => '[{"label":"Public Key","placeholder":"Enter Public Key","name":"public-key","value":"FLWPUBK_TEST-e0bc02a00395b938a4a2bed65e1bc94f-X"},{"label":"Secret Key","placeholder":"Enter Secret Key","name":"secret-key","value":"FLWSECK_TEST-da35e3dbd28be1e7dc5d5f3519e2ebef-X"},{"label":"Encryption key","placeholder":"Enter Encryption key","name":"encryption-key","value":"FLWSECK_TEST27bee2235efd"}]','supported_currencies' => '["AED", "ARS", "AUD", "CAD", "CHF", "CZK", "ETB", "EUR", "GBP", "GHS", "ILS", "INR", "JPY", "KES", "MAD", "MUR", "MYR", "NGN", "NOK", "NZD", "PEN", "PLN", "RUB", "RWF", "SAR", "SEK", "SGD", "SLL", "TZS", "UGX", "USD", "XAF", "XOF", "ZAR", "ZMK", "ZMW", "MWK"]','crypto' => '0','desc' => NULL,'input_fields' => NULL,'env' => 'SANDBOX','status' => '1','last_edit_by' => '1','created_at' => '2023-11-08 12:40:33','updated_at' => '2023-11-08 13:01:40'),
            array('id' => '4','slug' => 'add-money','code' => '120','type' => 'AUTOMATIC','name' => 'SSLCOMMERZ','title' => 'Secure your deposits using SSLCOMMERZ for smooth transactions.','alias' => 'sslcommerz','image' => '9ce51bcf-a572-4c23-b433-a1f03ca5e99f.webp','credentials' => '[{"label":"Store ID","placeholder":"Enter Store ID","name":"store-id","value":"appde654c6741c4609"},{"label":"Store Password (API\\/Secret Key)","placeholder":"Enter Store Password (API\\/Secret Key)","name":"secret-key","value":"appde654c6741c4609@ssl"}]','supported_currencies' => '["BDT","USD","EUR","SGD","INR","MYR","GBP","AUD"]','crypto' => '0','desc' => NULL,'input_fields' => NULL,'env' => 'SANDBOX','status' => '1','last_edit_by' => '1','created_at' => '2023-11-09 12:58:17','updated_at' => '2023-11-09 13:01:12'),
            array('id' => '5','slug' => 'add-money','code' => '125','type' => 'AUTOMATIC','name' => 'Razorpay','title' => 'Deposit funds efficiently with Razorpay for hassle-free payments.','alias' => 'razorpay','image' => '147f7e97-d293-4f1d-8563-73630f2ce42c.webp','credentials' => '[{"label":"Key ID","placeholder":"Enter Key ID","name":"key-id","value":"rzp_test_voV4gKUbSxoQez"},{"label":"Secret Key","placeholder":"Enter Secret Key","name":"secret-key","value":"cJltc1jy6evA4Vvh9lTO7SWr"}]','supported_currencies' => '["USD","EUR","GBP","SGD","AED","AUD","CAD","CNY","SEK","NZD","MXN","BDT","EGP","HKD","INR","LBP","LKR","MAD","MYR","NGN","NPR","PHP","PKR","QAR","SAR","UZS","GHS"]','crypto' => '0','desc' => NULL,'input_fields' => NULL,'env' => 'SANDBOX','status' => '1','last_edit_by' => '1','created_at' => '2023-11-09 17:26:21','updated_at' => '2023-11-09 17:36:05'),
            array('id' => '6','slug' => 'add-money','code' => '130','type' => 'AUTOMATIC','name' => 'Paystack','title' => 'Add money easily through Paystack for convenient deposits.','alias' => 'paystack','image' => 'paystack.webp','credentials' => '[{"label":"Secret Key","placeholder":"Enter Secret Key","name":"secret-key","value":"sk_test_877d3ad96e1ee36a20d6736a8d358a999dad42c0"},{"label":"Email","placeholder":"Enter Email","name":"email","value":"akash@appdevs.team"}]','supported_currencies' => '["BDT","USD","EUR","SGD","INR","MYR","GBP","AUD","GHS","NGN"]','crypto' => '0','desc' => NULL,'input_fields' => NULL,'env' => 'SANDBOX','status' => '1','last_edit_by' => '1','created_at' => '2024-08-08 04:26:27','updated_at' => '2024-08-08 04:27:36'),
            array('id' => '7','slug' => 'add-money','code' => '135','type' => 'MANUAL','name' => 'JazzCash','title' => 'Use JazzCash (Manual) for simple and reliable deposits.','alias' => 'jazzcash','image' => NULL,'credentials' => NULL,'supported_currencies' => '["PKR"]','crypto' => '0','desc' => '<p>To initiate a payment using our manual payment gateway, please follow the instructions provided below. We offer two convenient methods for you to choose from:<br><strong>Option 1: PayPal Payment</strong></p><ol style="list-style-type:none;"><li>Log in to your PayPal account or access the PayPal website.</li><li>Choose the option to send money or make a payment.</li><li>Enter the recipient’s email address: <a href="mailto:business@paypal.com">business@paypal.com</a></li><li>Specify the payment amount in the currency you wish to use.</li><li>Make sure to select “Business” as the account type.</li><li>Review the payment details and confirm the transaction.</li><li>Keep the payment confirmation or receipt as proof of the transaction.</li></ol><p><strong>Option 2: Bank Transfer</strong></p><ol style="list-style-type:none;"><li>Visit your local bank or access your online banking platform.</li><li>Initiate a new fund transfer or payment.</li><li>Enter the recipient’s bank account details:</li></ol><ul style="list-style-type:none;"><li>Bank Name: Bank of America</li><li>IBAN (International Bank Account Number): 01234567890</li></ul><ol style="list-style-type:none;"><li>Specify the payment amount in the currency you intend to use.</li><li>Double-check all details, including the recipient’s account information.</li><li>Confirm and authorize the transfer.</li><li>Retain the payment receipt or confirmation for future reference.</li></ol><p>Please ensure that you keep a record of your payment as proof of the transaction. In case of any discrepancies or verification requirements, you may be asked to provide this documentation.Your payment will be manually verified by our team, and once confirmed, your order will be processed promptly. We appreciate your cooperation and look forward to serving you!</p>','input_fields' => '[{"type":"file","label":"Screenshot","name":"screenshot","required":false,"validation":{"max":"10","mimes":["jpg","png","webp","svg"],"min":"0","options":[],"required":false}},{"type":"text","label":"Transaction ID","name":"transaction_id","required":true,"validation":{"max":"60","mimes":[],"min":"1","options":[],"required":true}}]','env' => NULL,'status' => '1','last_edit_by' => '1','created_at' => NULL,'updated_at' => NULL),
        );
        PaymentGateway::upsert($payment_gateways,['code'],[]);

        // Insert Payment Gateway Currencies
        $payment_gateway_currencies = array(
            array('payment_gateway_id' => '1','name' => 'Paypal CAD','alias' => 'add-money-paypal-cad-automatic','currency_code' => 'CAD','currency_symbol' => '$','image' => NULL,'min_limit' => '1.00000000','max_limit' => '5000.00000000','percent_charge' => '2.00000000','fixed_charge' => '0.00000000','rate' => '1.37000000','created_at' => '2023-05-29 11:15:57','updated_at' => '2023-08-07 10:26:48'),
            array('payment_gateway_id' => '1','name' => 'Paypal USD','alias' => 'add-money-paypal-usd-automatic','currency_code' => 'USD','currency_symbol' => '$','image' => NULL,'min_limit' => '1.00000000','max_limit' => '5000.00000000','percent_charge' => '2.00000000','fixed_charge' => '0.00000000','rate' => '1.00000000','created_at' => '2023-05-29 11:15:57','updated_at' => '2023-08-07 10:26:48'),
            array('payment_gateway_id' => '2','name' => 'Stripe USD','alias' => 'add-money-stripe-usd-automatic','currency_code' => 'USD','currency_symbol' => '$','image' => NULL,'min_limit' => '1.00000000','max_limit' => '1000.00000000','percent_charge' => '2.00000000','fixed_charge' => '1.00000000','rate' => '1.00000000','created_at' => '2023-11-07 18:35:45','updated_at' => '2023-11-07 18:35:45'),
            array('payment_gateway_id' => '3','name' => 'Flutterwave NGN','alias' => 'add-money-flutterwave-ngn-automatic','currency_code' => 'NGN','currency_symbol' => NULL,'image' => NULL,'min_limit' => '1000.00000000','max_limit' => '1000000.00000000','percent_charge' => '2.00000000','fixed_charge' => '1.00000000','rate' => '1587.38000000','created_at' => '2023-11-08 13:01:40','updated_at' => '2023-11-08 13:01:40'),
            array('payment_gateway_id' => '4','name' => 'SSLCOMMERZ BDT','alias' => 'add-money-sslcommerz-bdt-automatic','currency_code' => 'BDT','currency_symbol' => NULL,'image' => NULL,'min_limit' => '200.00000000','max_limit' => '200000.00000000','percent_charge' => '2.00000000','fixed_charge' => '1.00000000','rate' => '117.11000000','created_at' => '2023-11-09 13:01:12','updated_at' => '2023-11-09 13:01:12'),
            array('payment_gateway_id' => '5','name' => 'Razorpay INR','alias' => 'add-money-razorpay-inr-automatic','currency_code' => 'INR','currency_symbol' => NULL,'image' => NULL,'min_limit' => '150.00000000','max_limit' => '150000.00000000','percent_charge' => '2.00000000','fixed_charge' => '1.00000000','rate' => '83.89000000','created_at' => '2023-11-09 17:36:05','updated_at' => '2023-11-09 17:36:05'),
            array('payment_gateway_id' => '6','name' => 'Paystack NGN','alias' => 'add-money-paystack-ngn-automatic','currency_code' => 'NGN','currency_symbol' => '₦','image' => 'seeder/paystack.webp','min_limit' => '1600','max_limit' => '160000.00000000','percent_charge' => '2.00000000','fixed_charge' => '1.00000000','rate' => '1581.46000000','created_at' => '2024-08-08 04:27:36','updated_at' => '2024-08-08 05:05:31'),
            array('payment_gateway_id' => '7','name' => 'JazzCash PKR','alias' => 'add-money-jazzcash-pkr-manual','currency_code' => 'PKR','currency_symbol' => 'Rs','image' => NULL,'min_limit' => '300.00000000','max_limit' => '300000.00000000','percent_charge' => '3.00000000','fixed_charge' => '1.00000000','rate' => '277.58000000','created_at' => '2023-08-14 18:13:11','updated_at' => '2023-08-14 18:13:11'),
        );
        PaymentGatewayCurrency::upsert($payment_gateway_currencies,['alias'],[]);

    }
}
Access Token

Get Access Token

Get access token to initiates payment transaction.

Endpoint: POST generate-token
Parameter Type Comments
client_id string Enter merchant API client/primary key
secret_id string Enter merchant API secret key
env string Enter merchant API environment
merchant_id string Enter merchant API merchant id
Just request to that endpoint with all parameter listed below:
                    
                        Request Example (guzzle)
                        

<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', $base_url. 'v1/generate-token', [
'headers' => [
  'accept' => 'application/json',
  'content-type' => 'application/json',
 ],
'form_params' => [
  'client_id' => '$client_id',
  'secret_id' => 'secret_id',
  'env' => 'env',
  'merchant_id' => 'merchant_id',
 ],
]);
echo $response->getBody();
                    
                        
**Response: SUCCESS (200 OK)**
{
 "message": {
 "success": [
  "Successfully token is generated"
 ]
},
"data": {
 "token":"eyJpdiI6InpkczhjTjhQdVhUL2lKQ0pSUUx6aUE9P
SIsInZhbHVlIjoiVGVBTVBDTXltbjNZcEIvdEJveGpTSno3TU5NRUtn
VkhCZ1pHTFNCUnZGQ2UxMnYxN202cEE1YVRDTEFsc0ZERExoTjdtL0dTL2x
oU3QzeUJJOExiMUx5T0w1L0llUXhTUkU1cWVLWEdEbEplb0dKNXcwbTNRM0
VxdkUwYzZuNFdtNkhMQ0pRZysyNWkvdzBxSlBoSVBSOGFTekNnR2RXNHVtc
G9lMGZOTmNCcm1hR3c5Sk9KTnB4Y3ltZDl6cm90MThrR21Ca3B1azc3bXRi
Q0J6SW96UVo1elNkU1ZqeE05bTcwWGp1MEUxWlJFdnNWTmpSbnVpeW92b2U
4dXZkUGgyb1VmK0luaGdyaFlsVTZlcVpVRnZlTG1DeFF6Ykk2T2h6Z3Jzbn
IyNHpNdHowSE5JdDR0Y0pZT20zUm1XYW8iLCJtYWMiOiJlY2M4NGE1OGUzYz
kzYzk0YzljNmVmNjE0YWI0ZDIwOGI3NDQ2YWEyY2ZhNzc0NzE4ZmY1ZmYyMz
IyZmQzNDY1IiwidGFnIjoiIn0=",
},
"type": "success"
}
                    
                        
**Response: ERROR (400 FAILED)**
{
 "message": {
 "error": [
  "Invalid credentials."
 ]
},
"data": null,
"type": "error"
}