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://gateway-test.praxispay.com/api/payout-split
Live https://gateway.praxispay.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
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. Required. sha256-encoded representation of the concatenation of request parameters and secret

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 as in request)

EXAMPLE

Request

For example below: Merchant Secret = "MerchantSecretKey"

curl -X POST \
https://gateway.praxispay.com/api/payout-split \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache' \
-d '{
    "amount": 1000,
    "application_key": "Sandbox",
    "currency": "USD",
    "gateway": "dM-4p5ZORnROeCnnLmm3fBO-WkghMNhr",
    "merchant_id": "Test-Integration-Merchant",
    "order_id": "test-1560610955",
    "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",
    "version": "1.2",
    "signature": "268ac58da717d65217c7957d7fde679c35c5b5fa58bac53d3cea8fec9739c5bb3acce42d90e11987db43305beadad0ac"
}

Response (Declined)

{
    "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",
    "version": "1.2",
    "signature": "09f8a113225fa301458eb72eec1c7c368db1b7bbe2f770a831688439e371aa4d89998d2bad68b764848e70c422f9c03f"
}

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