A Python library to consume the RavePay API
Project description
The RavePay Python SDK provides APIs to create, process and manage payments on the RavePay platform. The SDK fully supports the API
Installation
pip install ravepaypysdk
Configuring RavePay SDK
import ravepaypysdk my_api = ravepaypysdk.Api( secret_key='ravepay_secret_key' public_key='ravepay_public_key' production=False # sandbox # or True # Live )
Usage
To start using the SDK ensure you have your public key and secret key instantiated with the Api object
Payments (RavePay Direct Charge)
Import the RavePay Payment module
from ravepaypysdk import Payment
There are 5 different ways to utilize RavePay’s direct charge for payment:
Card direct charge
Usage
payload = { “cardno”: “5438898014560229”, “cvv”: “789”, “expirymonth”: “07”, “expiryyear”: “18”, “currency”: “NGN”, “pin”:“7552”, “country”: “GH”, “amount”: “10”, “email”: “user@example.com”, “phonenumber”: “1234555”, “suggested_auth”: “PIN”, “firstname”:“user1”, “lastname”: “user2”, “IP”: “355426087298442”, “txRef”: “MC-7663-YU”, “device_fingerprint”: “69e6b7f0b72037aa8428b70fbe03986c” } card_payment = Payment.card(payload, api=my_api) if card_payment: return card_payment
Bank account payment
Usage
payload = { "accountnumber": "0690000004", "accountbank": "044", "currency": "NGN", "country": "NG", "amount": "10", "email": "user@example.com", "phonenumber": "1234555", "firstname": "first name", "lastname": "last name", "IP": "355426087298442", "txRef": "", "device_fingerprint": "69e6b7f0b72037aa8428b70fbe03986c" } bank_payment = Payment.bank_account(payload, api=my_api) if bank_payment: return bank_payment
Tokenize Card
Usage
payload = { "token":{ “chargeToken”:{ “user_token”:“f0209”, “embed_token”:“flw-t0-9f3aa69a806f6440fbb78cc9e8b2f135-k3n” } }, "currency": "NGN", "country": "NG", "amount": "10", "email": "user@example.com", "phonenumber": "1234555", "firstname": "user1", "lastname": "user2", "IP": "355426087298442", "txRef": "MC-7663-YU", "narration":"tokenize my card" "meta": [{"metaname": "flightId"}, {"metavalue": "1002"}] "device_fingerprint": "69e6b7f0b72037aa8428b70fbe03986c" } tokenize_card = Payment.tokenize_card(payload, api=my_api)
USSD Payment
Usage
ussd_payment = Payment.ussd(payload, api=my_api)
MPESA Payment
Usage
mpesa_payment = Payment.mpesa(payload, api=my_api)
Ghana Mobile Money
Usage
gh_mobile_payment = Payment.ghana_mobile(payload, api=my_api)
The same payload format goes for the USSD, MPESA and Ghana Mobile Money. Kindly review the API documentation to get the required field for each transaction
Transaction
This module retrieves all transactions and verifies transactions.
Usage
Import the transaction module
from ravepaypysdk import Transaction
Verify your transaction
Usage
payload = { “flw_ref”:“FLW-MOCK-6f52518a2ecca2b6b090f9593eb390ce”, # unique reference “tx_ref”:“dummy”, # merchants unique reference number “normalize”: “1” } verify_transaction = Transaction.verify(payload, api=my_api)
verify transaction with xquery
Usage
payload = { “flwref”: “FLW-MOCK-6f52518a2ecca2b6b090f9593eb390ce”, # unique reference “txref”:“dummy”, # merchants unique reference number “last_attempt”:“1”, # retrieves the last transaction “only_successful”: “1” # retrieves only successful transaction } xquery_verify = Transaction.verify_query(payload, api=my_api)
List all recurring transactions
Usage
list_transactions = Transaction.list_all_recurring(api=my_api)
List single recurring transactions
Usage
payload = { "txId":"dummy" #add the required value for txId } list_single_transaction = Transaction.list_single_recurring(payload, api=my_api)
Validate Ravepay charges
This module validates RavePay payment transactions.
Usage
Import the ValidateCharge module
from ravepaypysdk import ValidateCharge payload = { "transaction_reference": "222334304", "otp": "12345" }
Validate card transactions
Usage
validate_card_transac = ValidateCharge.card(payload, api=my_api)
Validate bank account transaction
Usage
validate_bank_account_transac = ValidateCharge.account(payload, api=my_api)
Miscellanous
This module gets the bank list and current forex rates
Usage
Import the bank module
from ravepaypysdk import Bank
Get List of Banks
Usage
get_banks = Bank.list_all(api=my_api)
Get Forex Rates
Usage
payload = { 'origin_currency': 'USD', 'destination_currency': 'NGN', 'amount': '200' } get_forex = Bank.get_forex(payload, api=my_api)
Documentation
API documentation for RavePay can be found here
Contributing
Contributions are always welcomed to the project. Use Github Issue for requests.
Fork the project to your repository then clone it to your local machine.
Create a new branch and make the necessary enhancement to the features.
If the you wish to update an existing enhancement submit a pull request.
If you are unsure about certain areas in the project feel to ask for assistance.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.