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://pci-gw-test.praxispay.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) 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
}