Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/arif98741/nagadapi

This is Bangladeshi nagad payment gateway api development php sdk library. This library can be used in any php application.
https://github.com/arif98741/nagadapi

api bangladesh bangladeshi-payment-gateway bd-payment laravel-nagad-payment nagad-api nagad-api-library nagad-gateway nagad-packagist-library nagad-php-library nagad-php-payment-gateway payment payment-gateway payment-integration

Last synced: 29 days ago
JSON representation

This is Bangladeshi nagad payment gateway api development php sdk library. This library can be used in any php application.

Awesome Lists containing this project

README

        

Nagad api php xenon nagad api

# Xenon/NagadApi

## Features

- Easy Installation
- Easy Payment Processing
- Composer based installation
- Verify Payment
- Demo Invoice Code Generate

# Install Using Composer

```bash
composer require xenon/nagad-api
```

# Example Code
```php
'development', // development|production
'NAGAD_APP_LOG' => '1',
'NAGAD_APP_ACCOUNT' => '016XXXXXXXX', //demo
'NAGAD_APP_MERCHANTID' => '6800000025', //demo
'NAGAD_APP_MERCHANT_PRIVATE_KEY' => 'MIIEvFAAxN1qfKiRiCL720FtQfIwPDp9ZqbG2OQbdyZUB8I08irKJ0x/psM4SjXasglHBK5G1DX7BmwcB/PRbC0cHYy3pXDmLI8pZl1NehLzbav0Y4fP4MdnpQnfzZJdpaGVE0oI15l',
'NAGAD_APP_MERCHANT_PG_PUBLIC_KEY' => 'MIIBIjANBc54jjMJoP2toR9fGmQV7y9fzj',
'NAGAD_APP_TIMEZONE' => 'Asia/Dhaka',
];

$nagad = new Base($config, [
'amount' => 10,
'invoice' => Helper::generateFakeInvoice(15, true),
'merchantCallback' => 'https://example.com/payment/success/id=4',
]);
```

## Method-1 **:** Use for website
```
$status = $nagad->payNow($nagad); //will redirect to payment page
```

## Method-2 **:** Return Redirection url . You can use this according to need
```
$paymentUrl = $nagad->payNowWithoutRedirection($nagad); //will return payment url like below. You can use that url and do whatever u want to get payment from clients.
```

```
http://sandbox.mynagad.com:10060/check-out/MDYyODAwNTcyNTYxNi42ODMwMDIwMDcxMDQyMjUuOU5PTEFVNkVaWkdUWVRBLmJiZGMyNTE3MTVmZTNiNjIzN2Zk
```

### After that use below method for extracting payment response that will return an array

```
$successUrl = 'https://example.com/payment/success/id=4/?merchant=683XXXX225&order_id=CKH060JXXXXXFRA2&payment_ref_id=MXXXXXXXXtIMDYwSjFRSlBRMUZSQTIuMTg0NTE2Yzc3ZmEzNmEwZTJlZjk=&status=Success&status_code=00_0000_000&message=Successful%20Transaction&payment_dt=20211123235008&issuer_payment_ref=MTEyMzIzNDg1NzUwOS42ODMwMDIwMDcxMDQyMjUuQ0tIMDYwSjFRSlBRMUZSQTIuMTg0NTE2Yzc3ZmEzNmEwZTJlZjk=';
$response = Helper::successResponse("$successUrl");

Array
(
[merchant] => 683XXXX225
[order_id] => CKH060JXXXXXFRA2
[payment_ref_id] => MXXXXXXXXtIMDYwSjFRSlBRMUZSQTIuMTg0NTE2Yzc3ZmEzNmEwZTJlZjk=
[status] => Success
[status_code] => 00_0000_000
[message] => Successful Transaction
[payment_dt] => 20211123235008
[issuer_payment_ref] => MTEyMzIzNDg1NzUwOXXXXXtIMDYwSjFRSlBRMUZSQTIuMTg0NTE2Yzc3ZmEzNmEwZTJlZjk=
)
```
### For payment verification use below method. You will then get below json as response.
```
$helper = new Helper($config);
$response = $helper->verifyPayment($response['payment_ref_id']);
```

## Payment Verification Response
```
{
merchantId: "683XXXX225",
orderId: "CKH060JXXXXXFRA2",
paymentRefId: "MXXXXXXXXtIMDYwSjFRSlBRMUZSQTIuMTg0NTE2Yzc3ZmEzNmEwZTJlZjk=",
amount: "16",
clientMobileNo: "016****5428",
merchantMobileNo: "01XXXXXXX10",
orderDateTime: "2021-11-23 23:48:22.0",
issuerPaymentDateTime: "2021-11-23 23:50:08.0",
issuerPaymentRefNo: "000XXXW",
additionalMerchantInfo: null,
status: "Success",
statusCode: "000",
cancelIssuerDateTime: null,
cancelIssuerRefNo: null
}
```
## Maintainer

### Contributors

# Important Information:

### Sandbox Environment
1. Need sandbox details for sandbox testing. Check your email that you have got from nagad authority
2. Use sandbox details such as pgpublickey, privatekey, merchant-id for sandbox testing
3. You need to register a mobile number for sandbox testing. Contact with your account manager for doing this
4. You should test environment before going to live

### Live Environment
1. Need production details for production final. You will get through email
2. Your server ip/domain and callback url should be whitelisted before running in production. You can contact with nagad team using mail or other system

Login to your **Nagad Merchant Panel**

` https://auth.mynagad.com:10900/authentication-service-provider-1.0/login
`

**Step 1:**
**_In the Merchant Portal, Go to Merchant Integration Details under Merchant Management Menu.
You will get the Merchant ID which is your Merchant ID for Integration._**

Then, Click on “Key Generate” and
Download the Merchant Private Key and Merchant Public Key.

**Step 2:**
_**_Go to Merchant Integration under Merchant Management Menu.
Put your Call Back URL and Upload the Merchant Public Key which you have downloaded in Step 1. Add and Submit!**__

**Step 3:**
_**_Usage Production Details .
You have to use public key and private key that you have downloaded!**__

3. If you have any question/query then email me **[email protected]**
4. Do Code, Be Crazy


### If you find any kind of issue or bug you are highly encouraged to report. For reporting use [issues option](https://github.com/arif98741/nagadApi/issues)
For can also add pull request. For pull request you should use **dev** branch. Because our **master** branch is serving at this moment for usage around community. We dont want to messup

## License

[MIT](https://choosealicense.com/licenses/mit/)