- Python Django Example
- Getting an API Key
- Payment with Moncash
- Payment Detail
- Send Rewards
- Create Card
- Card Detail
- List Cards
$ cd example
$ virtualenv env
$ source env/bin/activate
$ pip install -r requirements.txt
$ python manage.py runserver
- Registered for a PG Rewards developer Account
- Navigate to Settings > Developer Setting
- Click on Generate New Credentials to get new credentials
$ pip install pgrwpyYou need to setup your key and secret using the following:
To work in production mode you need to specify your production PG_USER_ID & PG_SECRET_KEY along with a production_mode True boolean flag
import pgrwpy
client = pgrwpy.Client(auth=(PG_USER_ID, PG_SECRET_KEY),
production_mode=True)or
To work in sandbox mode you need to specify your sandbox PG_USER_ID & PG_SECRET_KEY keys along with a False boolean flag or you could just omit the production_mode flag since it defaults to False if not specified
import pgrwpy
client = pgrwpy.Client(auth=(PG_USER_ID, PG_SECRET_KEY),
production_mode=False)After setting up the client instance you can get the current pgrwpy SDK version using the following:
print(client.get_version())In order to receive payments using this flow, first of all you will need to create a Moncash payment. Following are the important parameters that you can provide for this method:
| Field | Required | Type | Description |
|---|---|---|---|
| amount | Yes | number | Amount in Haitian Currency (gourdes) |
| referenceId | Yes | string | Your internal reference ID into your own system for tracking purposes |
| successUrl | Yes | string | Send the user back once the transaction is successfully complete |
| errorUrl | Yes | string | Send the user back if there is an error with the transaction |
For details of all the request and response parameters , check our PG API Documentation guide
data = {
"amount": 500,
"referenceId": "12345test",
"successUrl": "https://example.com",
"errorUrl": "https://example.com"
}
payment = client.Payment.moncash(data)
print(payment['redirectUrl']) #the redirect moncash linkDid you get a HTTP 201 response, if yes then you are all set for the next step.
Now that you have created a payment, the next step is to implement polling to get Payment Details. We recommend a 4-5 second interval between requests. Following are the important parameters that you can provide for this method:
| Field | Required | Type | Description |
|---|---|---|---|
| orderId | Yes | string | Your internal reference ID into your own system for tracking purposes |
res = client.Payment.get_payment_details("<orderId>")
print(res) # 200: OKFor details of all the request and response parameters , check our PG API Documentation guide On successful payment, the status in the response will change to COMPLETED In case of a pending for Payment, the status in the response will change to PENDING
You can use send rewards as a way to recharge a user's account. The funds will automatically be available on their virtual or physical card. Following are the important parameters that you can provide for this method:
| Field | Required | Type | Description |
|---|---|---|---|
| Yes | string | Recipient email | |
| amount | Yes | number | Amount for the recipient |
| prepaid | Yes | boolean | User created via your platform, default true |
data = {
"email": "[email protected]",
"amount": 10,
"prepaid": False,
}
res = client.Reward.send(data)
print(res) # 200: OKFor details of all the request and response parameters , check our PG API Documentation guide Did you get a HTTP 201 response, if yes then you are all set for the next step.
In order to create a card, you will need to send a request to us with the following parameters:
| Field | Required | Type | Description |
|---|---|---|---|
| fullName | Yes | number | Recipient that needs to be on the card |
| amount | Yes | string | Available mount to spend with the card |
| Yes | string | Email of the card recipient | |
| billingAddress | Yes | object | Recipient address on the card. The country is required inside billingAddress |
| physical | Yes | boolean | If set to true, then card shipped to the provided address - only shipping for physical USA |
| person | Yes | string | prepaid/user - user is a registered user on the platform, and prepaid is just temporary prepaid card with a limited amount and limited feature |
The billing address object reference above
| Field | Required | Type | Description |
|---|---|---|---|
| line1 | Yes | string | recipient street address |
| city | Yes | string | recipient city |
| country | Yes | string | recipient country |
| state | Yes | string | recipient state |
| postal_code | Yes | number | recipient postal code |
For details of all the request and response parameters , check our PG API Documentation guide
data = {
"fullName": "Stanley Castin",
"amount": 5,
"email": "[email protected]",
"billingAddress": {
"line1": "9700 Medlock Bridge Road",
"city": "John Creeks",
"country": "US",
"state": "WA",
"postal_code": "90098"
},
"physical": False,
"person": "prepaid" # prepaid | user
}
res = client.Card.create(data)
print(res) # 200: OKDid you get a HTTP 201 response, if yes then you are all set for the next step.
Now that you have created a card, the next step is to implement polling to get Card Details. We recommend a 4-5 second interval between requests. Following are the important parameters that you can provide for this method:
| Field | Required | Type | Description |
|---|---|---|---|
| cardId | Yes | string | the actual card id |
| cardHolderId | Yes | string | The owner of the card |
res = client.Card.get_card_details("<cardId>", "<cardHolderId>")
print(res) # 200: OKFor details of all the request and response parameters , check our PG API Documentation guide
the next step is to implement polling to get all Cards. We recommend a 4-5 second interval between requests. Following are the important parameters that you can provide for this method:
| Field | Required | Type | Description |
|---|---|---|---|
| cardHolderId | Yes | string | The owner of the card |
res = client.Card.get_all_cards("<cardHolderId>")
print(res) # 200: OKFor details of all the request and response parameters , check our PG API Documentation guide
- Payment with Moncash
- Payment Detail
- Send Rewards
- Create Card
- Card Detail
- List Cards
