Dipu Dey 22nd Sep 2022

Upay Payment is a Bangladeshi Payment Gateway System. This is a Laravel/PHP package for Upay BD Payment Gateway. This package can be used in laravel or without laravel/php projects. You can use this package for headless/rest implementation as well as blade or regular mode development. We created this package while working for a project and thought to made it release for all so that it helps. In this blog, I explain how you can easily use Upay Payment Gateway API by using laravel.

Upay(BD) Payment Gateway – Laravel/PHP Package source code available via github and released via Packagist as regular regular php composer package.

Features

  • Create Payment/Take to Payment Page
  • Create Payment for Headless/REST API
  • Query Payment/Payment Details

Requirements

  • PHP >=7.4
  • Laravel >= 6

Installation


composer require codeboxr/upay

vendor publish (config)


php artisan vendor:publish --provider="Codeboxr\Upay\UpayServiceProvider"

After publish config file setup your credential. you can see this in your config directory upay.php file


return [
    "sandbox"                => env("UPAY_SANDBOX", false), // for sandbox use true
    "server_ip"              => env("UPAY_SERVER_IP", ""),
    "merchant_id"            => env("UPAY_MERCHANT_ID", ""),
    "merchant_key"           => env("UPAY_MERCHANT_KEY", ""),
    "merchant_code"          => env("UPAY_MERCHANT_CODE", ""),
    "merchant_name"          => env("UPAY_MERCHANT_NAME", ""),
    "merchant_mobile"        => env("UPAY_MERCHANT_MOBILE", ""),
    "merchant_city"          => env("UPAY_MERCHANT_CITY", ""),
    "merchant_category_code" => env("UPAY_CATEGORY_CODE", ""),
    "redirect_url"           => env("UPAY_CALLBACK_URL", "")
];

Set .env configuration


UPAY_SANDBOX=true // for production use false
UPAY_SERVER_IP="" // Upay only support IPV4 for production server don't needed sandbox
UPAY_MERCHANT_ID=""
UPAY_MERCHANT_KEY=""
UPAY_MERCHANT_CODE=""
UPAY_MERCHANT_NAME=""
UPAY_MERCHANT_MOBILE=""
UPAY_MERCHANT_CITY=""
UPAY_CATEGORY_CODE=""
UPAY_CALLBACK_URL=""

Usage

1. Create Payment

use Codeboxr\Upay\Facade\Payment;

return Payment::executePayment($amount, $invoiceId, $txnId, $date);
Example

return Payment::executePayment(10, 'CBX10101', '10127373', '2022-08-26');
2. Create Payment for REST API

use Codeboxr\Upay\Facade\Payment;

return Payment::createPayment($amount, $invoiceId, $txnId, $date);
Example

return Payment::createPayment(10, 'CBX10101', '10127373', '2022-08-26');
3. Query Payment

use Codeboxr\Upay\Facade\Payment;

Payment::queryPayment($invoiceId); // Invoice ID 

Note: Upay only support IPV4 for production server

Contributing

Contributions to the Upay package are welcome. Please note the following guidelines before submitting your pull request.

  • Follow PSR-4 coding standards.
  • Read Upay API documentations first.Please contact with Upay for their api documentation and sandbox access.

License

Upay package is licensed under the MIT License.
Copyright 2022 Codeboxr

We are not affiliated with Upay and don’t give any guarantee.