Payments
This page shows how to use the payments module of the EShopBox Python SDK
to manage payouts, fees, and transaction rules.
Initialize SDK
Before calling any API, initialize the SDK:
from eshopbox import EShopBoxSDK
import os
from dotenv import load_dotenv
load_dotenv()
sdk = EShopBoxSDK(
workspace=os.getenv('ESHOPBOX_WORKSPACE', ''),
client_id=os.getenv('ESHOPBOX_CLIENT_ID', ''),
client_secret=os.getenv('ESHOPBOX_SECRET_ID', ''),
refresh_token=os.getenv('ESHOPBOX_REFRESH_TOKEN', '')
)
Get All Payouts
Example:
def get_payouts(sdk):
response = sdk.payments.get_payouts()
print(response)
Get Single Payout
Example:
def get_payout(sdk):
params = {
"neftId": "neftId"
}
response = sdk.payments.get_payout(params)
print(response)
Create Payout
Example:
def create_payout(sdk):
payload = {
"fundTransferDate": "2018-09-25 05:30:00",
"fundTransferAmount": 819901.71,
"transactionId": "lime3",
"comments": "Limeroad Testing",
"ledgerGroupId": "limeroad",
"portalAccountId": 122,
"reportUrl": "https://cdn.filestackcontent.com/ckdksjkasl676678687as"
}
response = sdk.payments.create_payout(payload)
print(response)
Update Fee
Example:
def update_fee(sdk):
payload = {
"portalId": 3,
"feeId": "40",
"isInclusiveTax": "0",
"inclusiveTaxPercentage": "63",
"chargedFee": "cancelled",
"validityPeriod": "definite",
"validFrom": "2019-09-09",
"validTo": "2019-09-11",
"fee": [
{
"eventType": "shipped",
"feeCharged": "CHARGED_FEE"
},
{
"eventType": "returned",
"eventSubType": "courier",
"feeCharged": "REVERSED_FEE"
},
{
"eventType": "returned",
"eventSubType": "customer",
"feeCharged": "REVERSED_FEE"
}
],
"feeRules": [
{
"details": {
"shippingZone": "regional"
},
"feeValues": [
{
"type": "fixed",
"value": 2,
"applicableOn": "Per Order",
"id": 1
}
]
}
],
"id": 603,
"ruleId": "5d7a4867ad0cf20001e527df",
"forRevision": True
}
response = sdk.payments.update_fee(payload)
print(response)
Create Fee
Example:
def create_fee(sdk):
payload = {
"portalId": 2,
"feeId": "1",
"isInclusiveTax": "0",
"inclusiveTaxPercentage": "11",
"chargedFee": "cancelled",
"fee": [
{
"eventType": "cancelled",
"feeCharged": "CHARGED_FEE"
}
],
"feeRules": [
{
"details": {},
"feeRanges": [
{
"rangeType": "product selling price",
"rangeTypeUnit": "INR",
"minRange": 0,
"maxRange": 100
}
],
"feeValues": [
{
"type": "fixed",
"value": 12,
"applicableOn": "Per Order"
}
]
}
],
"validFrom": "2019-09-01T00:00:00.000Z",
"feePortalId": "145",
"validityPeriod": "definite",
"ruleId": "5d7f2b78ad0cf200017cebbb"
}
response = sdk.payments.create_fee(payload)
print(response)
Get All Fees
Example:
def get_all_fee(sdk):
response = sdk.payments.get_all_fee()
print(response)
Get Fee by Name
Example:
def get_fee(sdk):
params = {
"feeName": "amazon",
}
response = sdk.payments.get_fee(params)
print(response)
Get All Transaction Rules
Example:
def get_all_transaction_rules(sdk):
response = sdk.payments.get_all_transaction_rules()
print(response)
Get a Transaction Rule
Example:
def get_transaction_rule(sdk):
params = {
"channelId": 12,
}
response = sdk.payments.get_transaction_rule(params)
print(response)
Create Transaction Rule
Example:
def create_transaction_rule(sdk):
payload = {
"ruleName": "TR2",
"channelId": "12",
"feeId": ["1", "3", "5"],
"dueDays": "7",
"settlementType": "weekly",
"settlementWeekdays": "Thursday",
"portalId": 2,
"transactionId": 3
}
response = sdk.payments.create_transaction_rule(payload)
print(response)
Update Transaction Rule
Example:
def update_transaction_rule(sdk):
payload = {
"channelId": "262",
"feeId": ["33"],
"dueDays": "4",
"settlementType": "weekly",
"settlementDates": "2",
"settlementWeekdays": "Monday,Tuesday",
"transactionRuleId": "47",
"status": True,
"ruleName": "abcd",
"transactionId": 3
}
response = sdk.payments.update_transaction_rule(payload)
print(response)