Example Python
This page provides a Python code example to demonstrate how to construct a REST API URL for the iPay payment gateway. The code shows how to programmatically define the base URL and parameters, then combine them to create a complete API URL that can be used to initiate payment requests.
Python Code Snippet
import urllib.parse
base_url = "https://us-central1-nfgdatabasedemo.cloudfunctions.net/app/api/invoice_external?"
params = {
"apiKey": "jBQyeHEPJUhj1pRP7KPlShkw5Oc99g23",
"customId": "38UUAR23DVUA",
"onRampProvider": "provider1",
"defaultFiatCurrency": "USD",
"defaultFiatAmount": "108",
"colorCode": "D000F2",
"screenTitle": "DepositTest"
}
query_string = urllib.parse.urlencode(params)
full_url = base_url + query_string
print(full_url)
Code Explanation
This code snippet performs the following steps:
-
Import Necessary Modules:
urllib.parse: A Python module used to encode the parameters into a URL-safe query string.
-
Define the Base URL:
base_url: The endpoint for the iPay API, where payment requests are sent.
-
Define Parameters:
params: A dictionary containing the required and optional parameters:apiKey: Your unique API key for authentication, obtained from your iPay dashboard at dash.i-pay.io.customId: A unique identifier for the transaction or user, used for tracking.onRampProvider: The payment provider processing the transaction (e.g.,provider1ortransak).defaultFiatCurrency: The default currency for the payment (e.g.,USDfor US dollars).defaultFiatAmount: The default payment amount in the specified currency (e.g.,108for $108).colorCode: A hexadecimal color code (e.g.,D000F2) to customize the payment widget’s appearance.screenTitle: A custom title for the payment screen (e.g.,DepositTest).
-
Construct the Query String:
urllib.parse.urlencode(params)converts the parameters dictionary into a URL-encoded query string, ensuring special characters are properly handled.
-
Build the Full URL:
- Concatenate the
base_urlandquery_stringto form the complete API URL.
- Concatenate the
-
Print the URL:
- Output the
full_urlto the console, which can be used to make API requests or tested in a browser.
- Output the
Integration into Your Application
To use this code in your application:
- Replace Placeholder Values: Update the
paramsdictionary with your actual API key, custom ID, and other relevant values. Ensure your API key is valid by checking your iPay dashboard at dash.i-pay.io. - Make HTTP Requests: Use a library like
requeststo send a GET request to the generated URL:import requests
response = requests.get(full_url)
if response.status_code == 200:
print(response.json())
else:
print(f"Error: {response.status_code}") - Handle Responses: Process the API response to manage the payment flow, such as redirecting to the payment widget or handling errors.
- Test the URL: Copy the generated URL and test it in Postman or a browser to verify the payment widget loads correctly.
Tips for Success
- Ensure all required parameters (
apiKey,customId,onRampProvider) are included to avoid errors. - For detailed parameter descriptions, refer to the Parameters section.
- If you encounter issues, contact iPay support at [email protected] to verify your API key or server configuration.
This example provides a foundation for integrating iPay’s API into your Python-based applications, enabling seamless payment processing.