Praxis Wiki logo

Agent API {payout-split}


Split Payout is a way to process the customer's payout request in several payouts having the smaller amounts.

{danger.fa-exclamation} IMPORTANT #1: Split payout is not compatible with some PSPs.


{danger.fa-exclamation} IMPORTANT #2: Split payout creates a new payout request having the same payment method and using the same customer's payment details.

ENDPOINTS

Name URL
Sandbox https://pci-gw-test.praxispay.com/api/payout-split
Live https://gw.praxisgate.com/api/payout-split

REQUEST PARAMETERS

Variable Type Description
merchant_id varchar(50) Required. Merchant API client account identifier
application_key varchar(32) Required. Identifier of your application (website)
amount int(20) Required. Payment amount in cents.
Please note: for certain currencies (see full list here) there is a fraction other than 100 cents per unit, this is important if you multiply by 100 to send the amount in cents
currency varchar(10) Required. Payment currency
gateway varchar(50) Required. Gateway (processor configuration) hash to be used for processing (available options can be seen at Admin service, for more details please contact [email protected] for root account access)
reference_id varchar(50) Required. Original transaction identifier from
order_id varchar(50) Required. Transaction identifier in your system
pp varchar(50) Required. Processor name to be used for processing (available options can be seen at BO in a dropdown list of processors. given during the final step - payout processing form submission)
timestamp int(11) Required. Request time. URL will be active during 1 min after this time
version varchar(3) Required. API version
signature varchar(96) Required. sha256-encoded representation of the concatenation of request parameters and secret

{danger.fa-exclamation} IMPORTANT #3: Split Payout and Complete Payout gateway value passed in the request will be ignored for payouts with APM. Gateway value will be taken from the original withdrawal request transaction initiated by the customer within the

RESPONSE PARAMETERS

Variable Type Description
status int Required.
- 0 if the request was successful
- Negative integer if internal server/network error occurs
- Positive integer if application/logical error occurs
description varchar(256) Required. Accurate description of the result. Return the actual error for any exception as it helps to diagnose issues in production
trace_id int(11) Required. Transaction identifier in
transaction_id varchar(50) Optional. Transaction identifier in PSP
transaction_status varchar(16) Required.
- pending - processing initiated, final response expected from PSP
- approved - processing was successful
- declined retry - processing failed and will be reattempted
- declined - processing failed
- cancelled - processing cancelled by the merchant or client
- pending async - customer action expected (3D Secure, etc.)
- requested - merchant action expected (approval)
gateway varchar(50) Required. Gateway (processor configuration) hash to be used for processing (available options can be seen at Admin service, for more details please contact [email protected] for root account access)
error_code varchar(32) Optional. Error code for rejected transactions
error_details varchar(256) Optional. Error description for rejected transactions
version varchar(3) Required. API version
signature varchar(96) Required. sha384 HASH code of response (same algorithm as request signature)

EXAMPLE

Request

For example below: Merchant Secret = "MerchantSecretKey"

curl -X POST \
https://gw.praxisgate.com/api/payout-split \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache' \
-d '{
    "amount": 1000,
    "application_key": "Sandbox",
    "currency": "USD",
    "gateway": "s-pTSZyK23E1Ee5KZpcNbX_aFl0HuhQ0",
    "merchant_id": "Test-Integration-Merchant",
    "order_id": "test-1560610955",
    "PP":"BankWire",
    "reference_id": 752856,
    "timestamp": 1579210705,
    "version": "1.2",
    "signature": "e767cb37026d118846abd1a0a1c4a4cadac2015ed9610dac3c13484bc9d1012982afa07e7abfcec7e77895dcfbe016dc"
}'

Response (OK)

{
    "description": "Ok",
    "error_code": "0",
    "error_details": "[TEST] Transaction status: approved",
    "payment_processor": "TestPP",
    "status": 0,
    "trace_id": 1000000681,
    "transaction_id": "15607165967620",
    "transaction_status": "approved",
    "gateway": "s-pTSZyK23E1Ee5KZpcNbX_aFl0HuhQ0",
    "version": "1.2",
    "signature": "268ac58da717d65217c7957d7fde679c35c5b5fa58bac53d3cea8fec9739c5bb3acce42d90e11987db43305beadad0ac"
}

Response (Rejected)

{
    "description": "Ok",
    "error_code": "1",
    "error_details": "[TEST] Transaction status: declined",
    "payment_processor": "TestPP",
    "status": 0,
    "trace_id": 1000000682,
    "transaction_id": "15607165967622",
    "transaction_status": "declined",
    "gateway": "s-pTSZyK23E1Ee5KZpcNbX_aFl0HuhQ0",
    "version": "1.2",
    "signature": "09f8a113225fa301458eb72eec1c7c368db1b7bbe2f770a831688439e371aa4d89998d2bad68b764848e70c422f9c03f"
}

Please refer to How to Build Signature for details on signing the request.

You are currently viewing version 3.4 Latest version here