Praxis Wiki logo

Agent API


The {split-withdrawal-request} API function is used to process a customer’s payout request by dividing it into multiple smaller payouts.

{danger.fa-exclamation} IMPORTANT 1:
Split payouts are not compatible with certain PSPs.


{danger.fa-exclamation} IMPORTANT 2:
A split payout creates an additional trace_id, which is linked to the original withdrawal_request_id using the same customer payment details.

Endpoints

Name URL
Sandbox https://gateway.cashier-test.com/agent/split-withdrawal-request
Live https://gw.praxisgate.com/agent/split-withdrawal-request

Request Parameters

✓ - required value
? - optional, value or null
✕ - always appears as null

Variable Type Description
merchant_id varchar(50) ✓ Merchant API client account identifier.
application_key varchar(32) ✓ Identifier of your application (website).
amount int(20) ✓ Intended transaction amount in cents.
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) ✓ Transaction currency
withdrawal_request_id int(11) ✓ Praxis withdrawal request identifier.
order_id varchar(50) ✓ Transaction identifier in your system.
gateway varchar(32) ✓ Gateway to process the transaction.
version varchar(3) ✓ API version
timestamp int(11) ✓ Request time (unix timestamp, seconds)

Response Parameters

Variable Type Description
status int ✓ API communication status - for transaction processing status please refer to transaction.transaction.status
- 0 if the request was successful
- Negative integer if internal server/network error occurs
- Positive integer if application/logical error occurs
description varchar(256) ✓ Accurate description of the result. Return the actual error for any exception as it helps to diagnose issues in production.
customer <Object> ✓ Customer object
session <Object> ✓ Session object
transaction <Object> ✓ Transaction object. Appears in all cases except the authentication/validation error, or application malfunction.
version varchar(3) ✓ API version
timestamp int(11) ✓ Response time (unix timestamp, seconds)

Signature

The full signature generation algorithm can be found in the Authentication section.

Request signature parameters

  1. merchant_id
  2. application_key
  3. timestamp
  4. withdrawal_request_id

Response signature parameters

  1. status
  2. timestamp
  3. customer.customer_token
  4. transaction.tid
  5. transaction.transaction_status
  6. transaction.processed_currency
  7. transaction.processed_amount

Example

Request

{
    "merchant_id" : "API-Example", 
    "application_key" : "example.com",
    "amount" : 250000,
    "currency" : "EUR",
    "withdrawal_request_id" : 132456789,
    "order_id" : "test-order17895432345",
    "gateway" : "s-pTSZyK23E1Ee5KZpcNbX_aFl0HuhQ0",
    "timestamp" : 1642110945,
    "version" : "1.3"
}

Response

{
    "status": 0,
    "description": "Ok",
    "customer": {
        "customer_token": "87cfb23a8f1e68e162c276b754d9c061",
        "country": "GB",
        "first_name": "John",
        "last_name": "Johnson",
        "avs_alert": 0,
        "verification_alert": 0
    },
    "session": {
        "auth_token": "8a7sd87a8sd778ac961062c6bedddb8",
        "intent": "withdrawal",
        "session_status": "action required",
        "order_id": "test-1560610955",
        "currency": "EUR",
        "amount": 500000,
        "conversion_rate": 1.000000,
        "processed_currency": "EUR",
        "processed_amount": 250000,
        "payment_method": "Credit Card",
        "gateway": "BY_TOKEN",
        "cid": "1",
        "variable1": "your variable",
        "variable2": "if that is not enough, you can pass even one more variable",
        "variable3": null
    },
    "transaction": {
        "transaction_type": "withdrawal",
        "transaction_status": "approved",
        "tid": 132456790,
        "transaction_id": "1334856765676566744",
        "currency": "EUR",
        "amount": 250000,
        "conversion_rate": 1.000000,
        "processed_currency": "EUR",
        "processed_amount": 250000,
        "fee": 0,
        "fee_included" : 0,
        "fee_type" : "flat",
        "payment_method": "Credit Card",
        "payment_processor": "TestCardProcessor",
        "gateway": "s-pTSZyK23E1Ee5KZpcNbX_aFl0HuhQ0",
        "card": {
            "card_token": "J-4-a0vPhjZ9R75JP98VDUFgbh9y8sYr",
            "card_type": "VISA",
            "card_number": "411111******1111",
            "card_exp": "12\/2024",
            "card_issuer_name": "Bank of Somewhere",
            "card_issuer_country": "GB"
        },
        "wallet": null,
        "is_async": 0,
        "is_cascade": 0,
        "cascade_level": 0,
        "reference_id": null,
        "withdrawal_request_id": 132456789,
        "account_identifier": null,
        "created_by": "INTERNET",
        "edited_by": null,
        "status_code": "001",
        "status_details": "Success"
    },
    "version": "1.3",
    "timestamp": 1590611635
}