Praxis Wiki logo

Cashier API init-pay-out-order


init-pay-out-order is the interface to initiate the withdrawal requisites entry for given amount (order).

{danger.fa-exclamation} IMPORTANT: If not provided, optional customer data fields will be collected from customer upon login to Cashier using One-Time Registration form.

When executing the request, you receive json response that contains redirect_url parameter. The redirect_url parameter is a link that will automatically do the customer login to Cashier.

This link should be embedded into iframe's src attribute

{danger.fa-exclamation-triangle} IMPORTANT: In case of init-pay-out-order flow, the validation request is not sent to CRM.

ENDPOINTS

Name URL
Sandbox https://pci-gw-test.praxispay.com/api/init-pay-out-order
Live https://gw.praxisgate.com/api/init-pay-out-order

CHECKLIST

Please contact your account manager or technical support representative in order to confirm the following merchant acccount settings.

Item Purpose
Cashier API v1.2 Required for Cashier API to be allowed your CRM.
Dynamic Return URL Required for return_url to work properly. There is a number of dynamic variables supported for this parameter.
Merchant ID and Merchant Secret Required. The merchant credentials will be provided by the Technical Support representative.
Backoffice and VT - yes/no If you consider using Backoffice and VT for customer management, please make sure to provide the Customer Sync callback URL to Technical Support representative.
Dynamic Order Interface Required for locking to one successful transaction per session when using init-pay-out-order.

REQUEST PARAMETERS

Variable Type Description
signature varchar(96) Required. Request signature. Please refer to How to Build Signature for details on signing the request.
merchant_id varchar(50) Required. Merchant API client account identifier
application_key varchar(32) Required. Identifier of your application (website)
payment_method varchar(32) Optional. Please note: if gateway is provided and non-null, it will override the payment_method (gateway parameter is not applicable for Credit Card method for payouts).
locale varchar(5) Optional. User locale. For ex.: en-GB
order_id varchar(50) Required. Order id in your system
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. Customer currency
pin varchar(50) Required. Unique customer id in your system
requester_ip varchar(10) Optional. Customer's IP address
first_name varchar(25) Optional. Customer's first name
last_name varchar(25) Optional. Customer's last name
dob date Optional. Date of birth of the customer. MM/DD/YYYY format accepted.
email varchar(50) Optional. Customer's email
address varchar(100) Optional. Customer's address
city varchar(50) Optional. City of the customer
country varchar(2) Required. ISO 3166-1 alpha-2 (US, MT, IT, GB, DE etc)
state varchar(3) Optional (Required for US, CA and AU). State/Province where the customer resides. 3 characters ISO format. Otherwise leave blank.
zip varchar(12) Optional. Customer's postal code. (Required for US and CA). Can provide values for other countries. Limited to 12 alphanumeric characters only.
phone int(20) Optional. Numeric only. Includes country area code. Should not be a dummy sequence like 123456 or 111111, should be at least 9 digits long. Note that the phone variable can be declared as a required field on a PSP side
return_url varchar(256) Required. User will be redirected to a specified URL after successful payout (except cases when there is another rule defined with higher priority)
notification_url varchar(256) Required. URL to which the payout status notification will be sent. Please refer to Notification for more details.
timestamp int(11) Required. Request time. URL will be active during 1 min after this time
version varchar(3) Required. API version
balance int(20) Optional. Current balance in cents.
Please note: for certain currencies (JPY, CLP, KRW, VND, BHD, IQD, JOD, LYD, OMR, TND) the amount is sent as-in without being converted to cents, this is important if you multiply by 100 to send the amount in cents
variable1 varchar(256) Optional. Your custom field which will consist some neсessary information
variable2 varchar(256) Optional. Your custom field which will consist some neсessary information
variable3 varchar(256) Optional. Your custom field which will consist some neсessary information
gateway varchar(32) Optional. HASH value of gateway that should processed transaction
profile int(2) Optional. Customer's profile level. Different profile levels may be used to configure the transaction and payment method limits

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(75) Required. Accurate description of the result. Return the actual error for any exception as it helps to diagnose issues in production
version varchar(3) Required. API version
signature varchar(96) Required. sha384 HASH code of response (same algorithm as request signature)
redirect_url varchar(256) Required. Cashier Autologin URL. When redirected to this URL, the customer will be navigated further to the Cashier deposit page
auth_token varchar(75) Required. Special token that allows the customer to login during 15 min

EXAMPLE

Request

For example below: Merchant Secret = "MerchantSecretKey"

curl -X POST \ https://pci-gw-test.praxispay.com/api/init-pay-out-order \
-H 'Content-Type: application/json' \
-d '{
    "address": "Green Street 1",
    "amount": 25,
    "application_key": "Sandbox",
    "city": "London",
    "country": "GB",
    "currency": "USD",
    "dob": "1981-09-05",
    "email": "[email protected]",
    "first_name": "Tom",
    "last_name": "Doe",
    "locale": "en-GB",
    "merchant_id": "Test-Integration-Merchant",
    "notification_url": "https:\/\/api.merchant.com\/payouts\/112233",
    "order_id": "112233",
    "phone": "6712332112",
    "pin": "123",
    "requester_ip": "216.111.222.123",
    "return_url": "https:\/\/merchant.com\/payment_result\/112233",
    "timestamp": 1579214267,
    "version": "1.2",
    "zip": "01234",
    "signature": "73c071d641fea7b8b695e40118990e2b9a82fc6296c1ddb31547edddeffe899226ebf90004611bb129c30714f11c8c5a"
}'

Response (OK)

{
    "auth_token": "eb2a7a96b3d5ff60c961062c6bedddb8",
    "description": "Success",
    "redirect_url": "https:\/\/compute.praxispay.com\/autologin-form\/eb2a7a96b3d5ff60c961062c6bedddb8",
    "status": 0,
    "version": "1.2",
    "signature": "ee501f0f7f7a93e4be879fb759ff68400f6202df58f88f80627d7da39cfb193e95a0a717a2e77016adf6f93c5da87522"
}

Response (ERR)

{
    "description": "Timestamp expired",
    "status": 1,
    "version": "1.2",
    "signature": "0f2538cb438bc3f173246f2fa80717e105a766575f880f940f9da8374b27ab092402023ac93d2f8d4e4042d6d8b927e6"
}

You are currently viewing version 3.4 Latest version here