/AioNextPay

a repository for payment gateaway

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

AioNextPay

This is an async library for requesting to the https://nextpay.org purchase gateway.

How to install :

pip install aionextpay

How to use :

First import NextPay from aionextpay

from aionextpay import NextPay

Then you need to create an instance from NextPay class and pass it's parameters to it in an async function

from aionextpay import NextPay


token = 'your_nextpay_token'
callback_uri = 'yourdomain.ir/verify'

async def func():
    amount = '10000' # price of your product
    nextpay = NextPay(token, amount, callback_uri)

Then you need to use purchase function

from aionextpay import NextPay


token = 'your_nextpay_token'
callback_uri = 'yourdomain.ir/verify'

async def func():
    amount = '10000' # price of your product
    nextpay = NextPay(token, amount, callback_uri)
    trans_id = await nextpay.purchase(order_id)

Have in mind that purchase function take kwargs parameter. so read the docs.
If every thing goes good you get a trans_id from that function.
p.s : you have to create a gateway payment with that trans_id and give it to the client like this:

from aionextpay import NextPay


token = 'your_nextpay_token'
callback_uri = 'yourdomain.ir/verify'

async def func():
    amount = '10000' # price of your product
    nextpay = NextPay(token, amount, callback_uri)
    trans_id = await nextpay.purchase(order_id)
    link = f"https://nextpay.org/nx/gateway/payment/{trans_id}"

When your client complete the purchase nextpay will request to the address you gave to callback_uri variable
When it does verify the purchase in your request handler like this :

await nextpay.verify(trans_id)

If everything goes good it will return True otherwise an exception will raise

You can also refund the payment like this :

await nextpay.refund(trans_id)

If everything goes good it will return True otherwise an exception will raise