Note: If you're using this wrapper with our sandbox environment https://test.instamojo.com/ then you should pass 'https://test.instamojo.com/api/1.1/' as third argument to the Instamojo class while initializing it. API key and Auth token for the same can be obtained from https://test.instamojo.com/developers/ (Details: Test Or Sandbox Account).
api = Instamojo(api_key=API_KEY, auth_token=AUTH_TOKEN, endpoint='https://test.instamojo.com/api/1.1/');
pip install instamojo_wrapper
You can find your API_KEY and AUTH_TOKEN at the API Documentation Page. Create an account on Instamojo, log in and visit this link: https://www.instamojo.com/developers/
from instamojo_wrapper import Instamojo
api = Instamojo(api_key=API_KEY,
auth_token=AUTH_TOKEN)
# Create a new Payment Request
response = api.payment_request_create(
amount='3499',
purpose='FIFA 16',
send_email=True,
email="foo@example.com",
redirect_url="http://www.example.com/handle_redirect.py"
)
# print the long URL of the payment request.
print response['payment_request']['longurl']
# print the unique ID(or payment request ID)
print response['payment_request']['id']
from instamojo_wrapper import Instamojo
api = Instamojo(api_key=API_KEY,
auth_token=AUTH_TOKEN)
# Create a new Payment Request
response = api.payment_request_status('[PAYMENT REQUEST ID]')
print response['payment_request']['shorturl'] # Get the short URL
print response['payment_request']['status'] # Get the current status
print response['payment_request']['payments'] # List of payments
from instamojo_wrapper import Instamojo
api = Instamojo(api_key=API_KEY,
auth_token=AUTH_TOKEN)
# Create a new Payment Request
response = api.payment_request_payment_status('[PAYMENT REQUEST ID]', '[PAYMENT ID]')
print response['payment_request']['purpose'] # Purpose of Payment Request
print response['payment_request']['payment']['status'] # Payment status
from instamojo_wrapper import Instamojo
api = Instamojo(api_key=API_KEY,
auth_token=AUTH_TOKEN)
# Create a new Payment Request
response = api.payment_requests_list()
# Loop over all of the payment requests
for payment_request in response['payment_requests']:
print payment_request['status']
payment_requests_list() also accepts optional arguments like max_created_at, min_created_at, min_modified_at, max_modified_at, page and limit for filtering as well as paginating the reponse.
response = api.payment_requests_list(max_created_at="2015-11-19T10:12:19Z",
min_created_at="2015-10-29T12:51:36Z", page=1, limit=50)
For details related to supported datetime format supported by these arguments check the documentation: https://www.instamojo.com/developers/request-a-payment-api/#toc-filtering-payment-requests
payment_request_create(purpose, amount)=> Payment Requestpayment_request_status(id)=> Payment Requestpayment_requests_list()=> List of Payment Requestspayment_request_payment_status(id, payment_id)=> Payment Request with Payment details
purpose: Purpose of the payment request. (max-characters: 30)amount: Amount requested (min-value: 9 ; max-value: 200000)
buyer_name: Name of the payer. (max-characters: 100)email: Email of the payer. (max-characters: 75)phone: Phone number of the payer.send_email: Set this to True if you want to send email to the payer if email is specified. If email is not specified then an error is raised. (default value:False)send_sms: Set this to True if you want to send SMS to the payer if phone is specified. If phone is not specified then an error is raised. (default value:False)redirect_url: set this to a thank-you page on your site. Buyers will be redirected here after successful payment.webhook: set this to a URL that can accept POST requests made by Instamojo server after successful payment.allow_repeated_payments: To disallow multiple successful payments on a Payment Request passfalsefor this field. If this is set tofalsethen the link is not accessible publicly after first successful payment, though you can still access it using API(default value:True).
Further documentation is available at https://www.instamojo.com/developers/request-a-payment-api/