Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shurjopay-plugins/python-obsolete
https://github.com/shurjopay-plugins/python-obsolete
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/shurjopay-plugins/python-obsolete
- Owner: shurjopay-plugins
- License: mit
- Created: 2022-01-25T07:22:59.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-12-28T11:48:13.000Z (almost 2 years ago)
- Last Synced: 2024-11-13T03:24:24.303Z (about 1 month ago)
- Language: Python
- Size: 77.1 KB
- Stars: 0
- Watchers: 0
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## This plugin has been superseeded by [sp-plugin-python](https://github.com/shurjopay-plugins/sp-plugin-python). Please use that.
![shurjoPay](shurjoPay.png)
# ShurjoPayshurjopay python integration steps
## Prerequisite
To integrate ShurjoPay you need few credentials to access shurjopay:
```
:param prefix: Any string not more than 5 characters. It distinguishes the stores of a merchant.
:param currency: ISO format,(only BDT and USD are allowed).
:param return_url: Merchant should provide a GET Method return url to verify users initiated transaction status.
:param cancel_url: Merchant should provide a cancel url to redirect the user if he/she cancels the transaction in midway.
:param client_ip: User's ip
:param username: Merchant Username provided by shurjopay.
:param password: Merchant Password provided by shurjopay.
:param post_address: Live shurjopay version 2 URL.
```> 📝 **NOTE** For shurjoPay version 2 live engine integration all necessary credential will be given to merchant after subscription completed on shurjoPay gateway.
---
## Installation
Use the package manager ```pip``` to install Shuropay python package
```
pip install shurjopay-V2
```
To install Python package from github, you need to clone that repository.```
git clone https://github.com/smukhidev/sp2-python.git
```Then just run the setup.py file from that directory,
```
sudo python setup.py install
```
## Usage
```
from shurjopay_v2.shurjopay import ShurjoPay#initialize with the test credentials
testpay = ShurjoPay(prefix="NOC", currency="BDT", return_url=[URL],cancel_url=[URL], client_ip=[IP], username=[USERNAME], password=[PASSWORD], post_address=[SURJOPAY_URL])
testpay.checkout(1, "xyz123456789", "demo", "01682803595", "N/a", "dhaka")
testpay.check_status(order_id="NOC6188d03129212")```
In return url controller to verify and get the sp order_id
```
from shurjopay_v2.shurjopay import ShurjoPay#initialize with the test credentials
verifypayment = ShurjoPay(prefix="NOC", currency="BDT", return_url=[URL],cancel_url=[URL], client_ip=[IP], username=[USERNAME], password=[PASSWORD], post_address=[SURJOPAY_URL])
verifypayment.verify(order_id="NOC6188d03129212")```
### ShurjoPay
You can use the ShurjoPay class as an instance, within a class or by subclassing. The general usage flow is as follows:- Create a ShurjoPay instance with these parameters
```
:param prefix: Any string not more than 5 characters. It distinguishes the stores of a merchant.
:param currency: ISO format,(only BDT and USD are allowed).
:param return_url: Merchant should provide a GET Method return url to verify users initiated transaction status.
:param cancel_url: Merchant should provide a cancel url to redirect the user if he/she cancels the transaction in midway.
:param client_ip: User's ip
:param username: Merchant Username provided by shurjopay.
:param password: Merchant Password provided by shurjopay.
:param post_address: Live shurjopay version 2 URL.
```
- Initialize the payment transaction with the checkout() functions
- Arguments:
```
:param amount: Transaction Amount [float]
:param order_id: Provide a Unique ORDER ID [string]
:param customer_name: Customer Full Name [string]
:param customer_phone: Customer Active Contact Number [string]
:param customer_address: Customer Address [string]
:param customer_city: Customer City [string]
```
- Response : a `JSON` response with dynamic checkout_url will be provided. Example response
```
{
'checkout_url': 'https://sandbox.securepay.shurjopayment.com/spaycheckout/?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvc2FuZGJveC5zaHVyam9wYXltZW50LmNvbVwvYXBpXC9sb2dpbiIsImlhdCI6MTYzNjM1MzYyMCwiZXhwIjoxNjM2MzU3MjIwLCJuYmYiOjE2MzYzNTM2MjAsImp0aSI6Ikt1MW1salZFQlBmaHdBRW8iLCJzdWIiOjEsInBydiI6IjgwNWYzOWVlZmNjNjhhZmQ5ODI1YjQxMjI3ZGFkMGEwNzZjNDk3OTMifQ.AVChXtT-g5De5OmenIucKvWF0PXx4x23PBjQFMsukJk&order_id=NOC6188d03129212',
'amount': 1,
'currency': 'BDT',
'sp_order_id': 'NOC6188d03129212',
'customer_order_id': 'xyz123456789',
'customer_name': 'demo',
'customer_address': 'N/a',
'customer_city': 'dhaka',
'customer_phone': '01682803595',
'customer_email': None,
'client_ip': '192.168.0.99',
'intent': 'sale',
'transactionStatus': 'Initiated'
}
```- This ```checkout_url``` will return an HTML shurjopay form you need to render this in your application for your users to complete the transaction.
![spform](sp.png)
- After the transaction initialized customer action status will be sent through the return_url/cancel_url with a ```query string``` ```?order_id=[SpOrderId]``` merchant should store the id for future use.
- Use verify() to verify the transaction. This call is required only once for each transaction that initialized
- Arguments:
```
:param order_id: For verification, merchants must use order_id that is sent from shurjoPay during callback.
```
- Response `JSON`
- Use check_status() to check the customer transaction status.
- Arguments:
```
:param order_id:For transaction status, merchants must use order_id that is sent from shurjoPay during callback.
```
- Response `JSON`
### Postman DocumentationsThis document will illustrate the overall request and response flow.
URL : https://documenter.getpostman.com/view/6335853/U16dS8ig
### Who do I talk to? ####
For any technical assistance please contact to: https://shurjopay.com.bd/#contacts