Getting Started
This page will help you get started with Payzoff. You'll be up and running in a jiffy!
This information is intended for the person(s) in your company responsible for implementing and integrating the Payzoff API into your systems. Payzoff integration with any merchant system is accomplished via simple HTTP POST commands. We will confidentially provide you with unique credentials, which will be needed in order to authenticate your company's system with the Payzoff system.
Once your company's system is integrated with Payzoff, the payment process is simplified by using only a simple call.
Definitions
Payzoff – is a payment gateway, providing you with technical access to different payment methods.
fsp – is a financial solution provider. A licensed legal entity which provides internet acquiring services.
Merchant – is an entity which uses gateway services of Payzoff.
Customer – private individual who makes purchase at the web page of the Merchant.
Payment – operation of transfer funds from Customer to Merchant for the goods sold/services provided.
Transaction – full process of exchanging information and funds during the Payment
WEB Page – Merchant’s selling web page
Checkout Page – secured web page where Customer enters all required information to finalize the Payment
API - application programming interface provided by Payzoff to Merchant
JSON - JSON encoded string ( http://json.org/ )
APM – Alternative Payment Method local payment method available in precise region
Payzoff Payment Process
The following is the process used when a Customer completes a purchase using payment method provided by Payzoff. This is asynchronous scheme and available for both APMs and Credit Cards.
- The Customer selects preferred payment method on the WEB Page, enters required information and confirms the purchase intentions
- Merchant sends Data Request to Payzoff to initiate the payment and receive a unique link to Checkout Page
- Merchant redirects the Customer to Checkout Page
- Payzoff informs Merchant on Transaction’s status via IPN (Instant Payment notification)
For many payment methods it takes some time for the Customer to finalize the transaction, and Payzoff will inform Merchant on Payment’s status as soon as the Payment will obtain this status.
For outgoing transactions performed by Merchant the process is the following:
- Merchant sends Data Request to Payzoff to initiate the payment. (see1.1. General Data Requests)
- Payzoff sends response to Merchant informing on a status of the payment (see 2.2. Payzoff response for outgoing transactions)
Whether the Merchant is PCI DSS compliant company and it can process Card’s Data through its own web page for processing cards.
In this case there will be two steps in the payment process:
- Merchant collects card data from the Customer, sends Initiating Request to Payzoff and receives response with confirmation that transaction request is valid, and 3DS URL where Customer should be redirected.
- Payzoff informs Merchant on Transaction’s status via IPN (Instant Payment notification)
Exchange of information takes place through standard HTTP POST commands. The URL for the POST information for all requests is: https://www.payzoff.com/api
Incoming Transaction
1. Request Data
From: Merchant
To: Payzoff
Depending on payment method, Data request should contain different additional information.
1.1. General Data Requests
The following information is the same for all Data requests regardless of payment method:
Variable | Format | Description | Example value | Required |
---|---|---|---|---|
api_key | alphanumeric, space & underscore; 32 | Payzoff API key, obtained in the member's profile | D78CD7DAF172B2F1 B55E19D9DDCE6514 | Yes |
action | alphabetic space & underscore; 1-60 | Transaction action | payment | Yes |
amount | decimal; 3-20 | Transaction amount. | 3.64 | Yes |
currency | A-Z; 3 | Transaction currency in ISO4217 | USD | Yes |
seller_transaction_id | alphanumeric 1-256 | Seller's unique transaction_id | 123433434 | Yes |
signature | alphanumeric 1-64 | md5 hash: api_key + amount + seller_transaction_id + signature_key (signature_key is obtained in the member's profile) | cdxbdjnGRv33LkL btc0pN0qqVAM7x mtzzlNXGAwf | Yes |
description | alphanumeric space & underscore; 1-256 | Transaction description | Payment for legal services according to Public Offer Agreement and Invoice 123433434 | Yes |
return_url | alphanumeric space & underscore; 9-1024 | URL where Customer will be redirected from Payzoff if payment was successful1 | URL where Customer will be redirected from Payzoff if payment was successful1 | Yes |
result_url | alphanumeric space & underscore; 9-1024 | URL where Merchant will get response from the Payzoff. | http://merchant-server.com/transaction/result | Yes |
fail_url | alphanumeric space & underscore; 9-1024 | URL where Customer will be redirected from Payzoff if payment was unsuccessful. | http://shopper-domain.com/transaction/fail | Yes |
name | alphabetic space & underscore; 9-1024 | Payer First and Last name | John Doe | Yes |
method | numeric; 1-5 | Payment method of the transaction. See Appendix1 for full list of payment methods. Available for the Merchant methods may be found in member area -> API configuration -> Payment Methods tab | 1085 | Yes |
country | a-z, 2 | Payer's country. ISO 3166-1 alpha-2 Required if field "method" is not empty | gb | No |
customer_id | alphanumeric, 1-50 | Unique Customer id that identifies client in your database | 4G8751F | Yes |
transaction_mode | numeric, 1 | 0 - live mode (default) 1 - testing mode. You will be redirected to dummy method | 1 | No |
provider | alphanumeric, 2-30 | Provider name. If omitted, available or default value will be taken. | worldline | No |
api_version | Numeric with dots, 5-11 | Version of API is required to obtain up-to-dated functional. Strict mask of 3 integers divided by two dots is applied. | 1.7.1 | Yes |
Notice
return_url, result_url, fail_url
You are required to pass this url unless you set it in your profile
1.2. Special Data Requests
The following information is different for payment method specified below:
1. CREDIT CARDS (Merchant’s payment page scheme only)
Variable | Format | Description | Example value | Required |
---|---|---|---|---|
card_number | numeric, 13-24 | Card number of the Customer | 4111111111111111 | Yes |
expiryyear | numeric,2 | Card expiry date year | 22 | Yes |
expirymonth | numeric,2 | Card expiry date month | 11 | Yes |
cardholder | alphabetic with spaces, 1-64 | Name indicated on the card | Mr Cardholder | Yes |
securitycode | numeric, 3-4 | Secret code on the reverse of the card (CVV, CVC ) | 999 | Yes |
2. DIRECTPAY
Variable | Format | Description | Example value | Required |
---|---|---|---|---|
iban | alphanumeric, 10-34 | International Bank Account Number (IBAN) provided by the Customer | DE91100000000123456789 | Yes |
bic | alphanumeric, 8-11 | Bank Identifier Code (BIC) in ISO 9362 | DEUTDEFF | Yes |
3. MYR, THB, VND, IDR, PHP BANK TRANSFERS
Variable | Format | Description | Example value | Required |
---|---|---|---|---|
language | Alphanumeric & symbols, 1-10 | Language selection that displays to Customer during the submission process. Please refer to appendix for list of languages code. | en-us | Yes |
4. SEPA
Variable | Format | Description | Example value | Required |
---|---|---|---|---|
lowercase symbols with ‘@’ in the middle | Valid email address of the Customer | customer@example.com | Yes | |
Iban | alphanumeric, 10-34 | International Bank Account Number (IBAN) provided by the Customer | DE91100000000123456789 | Yes |
bic | alphanumeric, 8-11 | Bank Identifier Code (BIC) in ISO 9362 | DEUTDEFF | Yes |
5. P24
Variable | Format | Description | Example value | Required |
---|---|---|---|---|
lowercase symbols with ‘@’ in the middle | Valid email address of the Customer | customer@example.com | Yes |
6. ASTROPAYCARD, ENTERCASH
Variable | Format | Description | Example value | Required |
---|---|---|---|---|
consumerref | Alphanumeric with spec symbols, 1-20 | Valid email address of the Customer | cust .%,&/+*$ omer | Yes |
7. BOLETO
Variable | Format | Description | Example value | Required |
---|---|---|---|---|
lowercase symbols with ‘@’ in the middle | Valid email address of the Customer | customer@example.com | Yes | |
nationalid | numeric | Consumer’s national identification (numeric -15 characters, CPF/CPNJ for BR, national/tax id otherwise). Leave empty in MX. | 1234567890 | Yes |
Bic | alphanumeric, 10-34; 1-60 | Bank Identifier Code (BIC) in ISO 9362 | DEUTDEFF | Yes |
state | alphabetic space & underscore; max 64 | Customer’s state | SP | Yes |
city | alphabetic space & underscore; max 64 | Customer’s city | San Paolo | Yes |
Valid Data Request Example:
Host:
https://api.payzoff.io
Key1=Value1&Key2=Value2&
…"api_key":
"A8CF017C7286E2603C7A349B1D71D030"
,"action":
"payment"
,"amount":
"100.00"
,"currency":
"EUR"
,"seller_transaction_id":
"504818687"
,"signature":
"f350f7da9580a8610488c7c608332ec3\r\n",
"description":
"somedescription"
,"https%3A%2F%2billing.domain.com %2Fpayment-redirect%2Fsuccess" ,
"https%3A%2F%2Fbilling.domain.com, %2Fstatus%2F%3Fgate_id%3D218" ,
"https%3A%2F%2Fbilling.domain.com %2Fpayment-redirect%2Ffailed%3Fsess_id" ,
"John%20Doe",
"method":
"1085",
"country":
"de",
"transaction_mode":
"1",
"iban":
"DE97684522901000736197",
}
2. Receive response
From: Payzoff
To: Merchant
2.1. Payzoff response for incoming transactions
You will get response in JSON format containing the following:
Variable | Format | Description | Example value | Required |
---|---|---|---|---|
status | alphabetic, 2-64 | Current general transaction status, indicates if request fail or ok | ok | Yes |
response_code | numeric, 0-100 | Specified status with precise description (see Appendix2). | 0 | Yes |
secret_code | alphanumeric, 10-512 | Unique transaction code known only to you and Payzoff. Save this value. It will be sent to result_url to verify it is a request from Payzoff. | cdxbdjnGRv33LkLbtc0pN0qq VAM7xmtzzlNXGAwf | Yes |
transaction_id | alphanumeric, 1-64 | Payzoff transaction ID | 8439901933860 | Yes |
redirect_url | alphanumeric, 10-1024 | Checkout page URL. Redirect Customer to this URL to continue payment process * For Merchant’s Payment page in Credit Card transactions here Payzoff will send URL Address of the 3dSecure page | http:\/\/www.payzoff.com\/ payment\/confirm\/84399019 33860 | Yes |
Notice
After the Customer is redirected to the Checkout page, he can finalize the payment process.
Attention
The merchant's URL page may be coded in any language but must accept parameters using HTTP POST standards and respond using standard format. Register the URL under Profile->Notifications in your Payzoff account or pass it along with a transaction request.
Payzoff Response Example:
"status":
"ok"
,"response_code":0
,"result": {"secret_code":
"cdxbdjnGRv33LkLbtc0pN0qqVAM7xmtzzlNXGAwf",
"transaction_id":
"8439901933860",
"http:\/\/www.payzoff.com\/payment\/confirm\/ 8439901933860"}
2.2. Payzoff response for outgoing transactions
You will get response in JSON format containing the following:
Variable | Format | Description | Example value | Required |
---|---|---|---|---|
Status | alphabetic, 2-64 | Current general transaction status, indicates if request fail or ok | ok | Yes |
response_code | numeric, 0-100 | Specified status with precise description (see Appendix2). | 0 | Yes |
secret_code | alphanumeric, 10-512 | Unique transaction code known only to you and Payzoff. Save this value. It will be sent to result_url to verify it is a request from Payzoff. | UcNDTqW4Ul 7DCqsBm40TLRR poDHx7Aru | Yes |
transaction_id | alphanumeric, 1-64 | Payzoff transaction ID | Payzoff transaction ID | Yes |
seller_transaction_id | alphanumeric 1-256 | Seller’s unique transaction ID | 38207372 | |
amount | decimal, 3-15 | Amount of the transaction | 4.99 | |
currency | A-Z, 3 | Transaction currency in ISO4217 | USD | |
transaction_status | alphanumeric, 10-1024 | Checkout page URL. Redirect Customer to this URL to continue payment process | success | Yes |
Attention
If you don’t get result from Payzoff: ok, fail or any other response, consider that pay-out processed successfully and don’t try to repeat the call. Then call API method “get_tx_status” to obtain real transaction status and only when you get response with certain status, process it in your side. On this transaction type you should always call transaction status from our API with method “get_tx_status” and check pay-out status.
2.3. Results POST Message for incoming transactions
From: Payzoff
To: Merchant
To inform the Merchant on final status of the Transaction Payzoff will send a POST request
Payzoff will POST the following information to the result_url:
Variable | Format | Description | Example value |
---|---|---|---|
transaction_id | alphanumeric, 1-64 | Payzoff transaction ID | 6164701949740 |
amount | decimal, 3-20 | Amount to pay | Amount to pay |
paid_amount | decimal, 3-20 | Amount actually paid | 1.56 |
create_date | numeric, 10 | Transaction create date in UNIX stamp format | 1404387194 |
transaction_status | alphabetic, 2-64 | Transaction status | Success |
tran_status_code | numeric, 0-100 | Specified status with precise description (see Appendix3). | 12 |
secret_code | alphanumeric, 32 | Unique secret transaction code which is only known to you and Payzoff. You must compare it with your records to make sure that this notification came from Payzoff | UcNDTqW4Ul 7DCqsBm40TLRR poDHx7Aru |
signature | alphanumeric, 32 | Payzoff generates signature for each transaction. Thus, you may verify sender source. Concatenate those POST values in following order md5 hash: api_key + amount + transaction_id + secret_code + seller_transaction_id + signature_key (signature_key is obtained in the member's profile) | nfiTGXzzgPKv1jy 2Aeoq9PYugZBWaLiI O2vZKJCl |
error_msg | alphanumeric space & underscore; max 256 | Error description provided by FSP | unknown |
Additional fields can be added to Payzoff response for incoming transactions:
Variable | Format | Description | Example value | Condition |
---|---|---|---|---|
card_number | numeric, 4 | Last four digits of the Customer’s credit card. | 1234 | For Credit Card method only |
Attention
We may also send notifications on some events (ex. 3ds failed) via callback. In this case transaction status will be ‘notify’ along with error_msg text.
2.4. Merchant Results POST Response
From: Payzoff
To: Merchant
Merchant should confirm the receipt of the Results POST message by outputting the string “OK” to the output buffer as a response to the Payzoff request, otherwise Payzoff will use another 3 tries to repeatedly sent Results POST Message until it will be obtained. Merchant will be informed using other communication channels if any Results POST Response were missed after all 4 POST Messages sent.
Payout. Original Credit Transaction (OCT)
Original Credit Transaction (OCT), also known as Credit Fund Transfer (CFT) is a method that allows to perform transfer funds from Merchant to Customer credit card.
- OCT amount can be greater than the original payment, if required.
- OCT can be processed before the original payment has been settled into your bank account.
1. Request Data
From: Payzoff
To: Merchant
1.1. General Data Requests
Variable | Format | Description | Example value | Required |
---|---|---|---|---|
api_key | alphanumeric, space & underscore; 32 | Payzoff API key, obtained in the member's profile | D98CD7DAF17 2B2F1B55T19D 9DECE6534 | Yes |
action | alphabetic space & underscore; 1-60 | Transaction action | oct | Yes |
customer_id | alphanumeric, 1-50 | Unique Customer id that identifies client in your database | 4G8751F | Yes |
param_type | alphabetic; 1-64 | OCT can be done using original card transaction details, using updated data or using new card details (ref / upd / new). Check availability of param_type with Payzoff before starting. | ref | Yes |
payzoff_transaction_id | alphanumeric, 1-64 | Merchant transaction ID Required if param_type=”ref” or “upd” | 1234567898 | Related |
amount | decimal; 3-20 | Transaction amount. | 3.64 | Yes |
currency | alphabetic; 3 | Transaction currency in ISO4217 | USD | Yes |
signature | alphanumeric, 1-64 | md5 api_key + transaction amount + transaction currency + payzoff_transaction_id + signature_key (signature_key is obtained in the member's profile) Pay attention, signature differs from the payment signature! | cdxbRjnGRv33 LkLbt30pN0qq VAM7xctzzlLXGAwf | Yes |
2. OCT Response
OCT Response depends on param_type value Merchant has sent and on particular FSP involved. Though in many cases OCT result is available immediately (see par. IV 2.1.), some FSPs execute OCTs after the cut-off time expired. In this case Payzoff will notify you with oct_status = “call-back will be provided”
2.1. OCT response when transaction is referenced
In case you submitted request with
- param_type=”ref”,
you will get the following response in JSON format:
Variable | Format | Description | Example value |
---|---|---|---|
status | alphanumeric, space & underscore; 32 | Payzoff API response status | ok |
response_code | numeric; 1-60 | Payzoff API response status code | 0 |
result | Array | Array of variables ‘oct_status’, ‘tran_status_code’, ‘transaction_id’ and optional ‘callback’. | 12 |
oct_status | alphabetic with space, 1-64 | Current status of the OCT | start |
tran_status_code | numeric, 1-10 | Transaction status code (See Appendix 3) | 12 |
callback | numeric, 1 | Callback = 1 if the status of the OCT is “start”, and final status will be sent by Payzoff in POST request (see POST parameters in paragraph IV 2.2. ). In other cases this variable WILL BE OMITED. | 1 |
transaction_id | alphanumeric, 1-64 | Payzoff transaction ID | 1234567898 |
Example:
"ok"
,"response_code":0
,"result":{"oct_status":
"success"
,"tran_status_code":
"12"
,"transaction_id":
"571842"
}}
2.2. OCT response when card details to be updated or provided
In case you submitted request with
- param_type=”upd”, or
- param_type=”new”,
you will get the following response in JSON format:
To provide recipient card details Customer/User should be redirected to the payment page, where all such details will be collected securely. After the OCT will be executed, Payzoff will send a POST request with final OCT status:
Variable | Format | Description | Example value |
---|---|---|---|
transaction_id | alphanumeric, 1-64 | Payzoff transaction ID | 571842 |
oct_status | alphabetic, 2-254 | OCT transaction status | success |
tran_status_code | numeric,1-10 | Transaction status code (See Appendix 3) | 12 |
amount | decimal, 3-20 | Amount | 1.56 |
currency | alphabetic; 3 | Transaction currency in ISO4217 |
Example:
"status":
"ok"
, "response_code":0
,"result":{"oct_status":
"success"
,"tran_status_code":
"12"
,"transaction_id":
"571842"
}}
2.3. Merchant OCT results POST Response
From: Merchant
To: Payzoff
Merchant should confirm the receipt of the OCT results POST message by outputting the string “OK” to the output buffer as a response to the Payzoff request, otherwise Payzoff will use another 3 tries to repeatedly sent OCT Results POST Message until it will be received. Merchant will be informed using other communication channels if any Results POST Response were missed after all 4 POST Messages sent.
Bank transfer payouts and payout APMs
Bank transfer payout is a method that allows to perform transfer funds from Merchant to Customer bank account. Depending on currency and region there may be different payment options available.
1. Request Data
From: Merchant
To: Payzoff
1.1. General Data Requests
Variable | Format | Description | Example value | Required |
---|---|---|---|---|
api_key | alphanumeric, space & underscore; 32 | Payzoff API key, obtained in the member's profile | D78CD7DAF172B2F1 B55E19D9DDCE6514 | Yes |
action | alphabetic space & underscore; 1-60 | Transaction action | payment | Yes |
amount | decimal; 3-20 | Transaction amount. | 3.64 | Yes |
currency | A-Z; 3 | Transaction currency in ISO4217 | USD | Yes |
seller_transaction_id | alphanumeric 1-256 | Seller's unique transaction_id | 123433434 | Yes |
signature | alphanumeric 1-64 | md5 hash: api_key + amount + seller_transaction_id + signature_key (signature_key is obtained in the member's profile) | cdxbdjnGRv33LkL btc0pN0qqVAM7x mtzzlNXGAwf | Yes |
description | alphanumeric space & underscore; 1-256 | Transaction description.Will be stored but won’t be sent to processing. | Payment for legal services according to Public Offer Agreement and Invoice 123433434 | Yes |
return_url | alphanumeric space & underscore; 9-1024 | URL where Customer will be redirected from Payzoff if payment was successful1 | URL where Customer will be redirected from Payzoff if payment was successful | Yes |
result_url | alphanumeric space & underscore; 9-1024 | URL where Merchant will get response from the Payzoff. | http://merchant-server.com/transaction/result | Yes |
fail_url | alphanumeric space & underscore; 9-1024 | URL where Customer will be redirected from Payzoff if payment was unsuccessful. | http://shopper-domain.com/transaction/fail | Yes |
name | alphabetic space & underscore; 9-1024 | Payer First and Last name | John Doe | Yes |
method | numeric; 1-5 | Payment method of the transaction. See Appendix1 for full list of payment methods. Available for the Merchant methods may be found in member area -> API configuration -> Payment Methods tab | 1085 | Yes |
country | a-z, 2 | Payer's country. ISO 3166-1 alpha-2 Required if field "method" is not empty | gb | No |
customer_id | alphanumeric, 1-50 | Unique Customer id that identifies client in your database | 4G8751F | Yes |
transaction_mode | numeric, 1 | 0 - live mode (default) 1 - testing mode. You will be redirected to dummy method | 1 | No |
provider | alphanumeric, 2-30 | Provider name. If omitted, available or default value will be taken. | worldline | No |
api_version | Numeric with dots, 5-11 | Version of API is required to obtain up-to-dated functional. Strict mask of 3 integers divided by two dots is applied. | 1.7.1 | Yes |
1.2. Special Data Requests
The following information is different for payment method specified below:
1. SEPAPAYOUT
Variable | Format | Description | Example value | Required |
---|---|---|---|---|
lowercase symbols with ‘@’ in the middle | Valid email address of the Customer | customer@example.com | Yes | |
bic | alphanumeric, 8-11 | Bank Identifier Code (BIC) in ISO 9362 | DEUTDEFF | Yes |
iban | alphanumeric, 10-34 | International Bank Account Number (IBAN) provided by the Customer | DE91100000000123456789 | Yes |
2. MYR, THB, VND, IDR, PHP Bank Transfers PAYOUTS
Variable | Format | Format | Example value | Required |
---|---|---|---|---|
acc_name | string, 1-50 | Customer account name | DepositAccountName | Yes |
acc_number | string, 1-50 | Customer account number | 12345678 | Yes |
province | string, 1-200 | Customer Bank located within a country | Bali | No |
city | string, 1-200 | Customer Bank located city | Denpasar | No |
Attention
In order to simplify the Payout integration process and decrease development works at Merchant’s side it is possible to send method=1300 value ,Payout Bank Transfer (split all currencies, Payzoff checkout page) in the request. In this case Merchant is allowed to send general data request information only. All other details will be requested from the payer at hosted checkout page.
2. Payout Response
From: Merchant
To: Payzoff
2.1. Response for Payout Request
If FSP supports immediate execution protocol, Payzoff will send the following response in JSON format:
Variable | Format | Description | Example value |
---|---|---|---|
status | alphanumeric, space & underscore; 32 | Payzoff API response status | ok |
response_code | numeric; 1-60 | Payzoff API response status code | 0 |
result | Array | Array of variables ‘payout_status’, ‘tran_status_code’, ‘transaction_id’ and optional ‘callback’. | |
payout_status | alphabetic with space, 1-64 | Current status of the payout | start |
tran_status_code | numeric, 1-10 | Transaction status code (See Appendix 3) | 3 |
callback | numeric, 1 | Callback = 1 if the status of the Payout is “start”, and final status will be sent by Payzoff in POST request (see POST parameters in paragraph V 2.2. ). In other cases this variable WILL BE OMITED. | 1 |
transaction_id | alphanumeric, 1-64 | Payzoff transaction ID | 1234567898 |
Example:
"status":
"ok"
"response_code" :0
, "result": {"payout_status":
"start"
,"transaction_id":
"1234567898"
,"callback":
1
}}
2.2. Response for Payout Bank Transfer method Request
In case Merchant sent payout request with method =1300, Payzoff will answer with the following response in JSON format
Merchant will receive further POST message to the result_url address after the Payout will be confirmed at the Checkout page. All fields are similar to those mentioned in paragraph V. 2.1. of this Manual except the format and ‘result’ array(it will be omitted):
Example:
"ok"
, "response_code":0
, "result": {"payout_status":
"start"
,"transaction_id":
"571842"
,
"http:\/\/www.payzoff.com\/payment\/confirm
\/8439901934860"}
"ok"
,"response_code":
"0"
,"payout_status":
"start"
,"transaction_id":
"1234567898"
,"callback"(optionally):
"1"
2.3. POST message on Payout results
If FSP doesn’t support immediate execution protocol for payouts, Payzoff will inform the Merchant with final status of the pay-out with POST message:
Variable | Format | Description | Example value |
---|---|---|---|
transaction_id | alphanumeric, 1-64 | Payzoff transaction ID | 1234567898 |
payout_status | alphabetic, 2-254 | Payout transaction status | success |
tran_status_code | numeric,1-10 | Transaction status code (See Appendix 3) | 12 |
amount | decimal, 3-20 | Amount | 1.56 |
currency | alphabetic; 3 | Transaction currency in ISO4217 |
2.4. Merchant Payout results POST Response
From: Merchant
To: Payzoff
Merchant should confirm the receipt of the Payout results POST message by outputting the string “OK” to the output buffer as a response to the Payzoff request, otherwise Payzoff will use another 3 tries to repeatedly sent POST Results POST Message until it will be received. Merchant will be informed using other communication channels if any Results POST Response were missed after all 4 POST messages were sent.
Refunds
1. Request Data
Here are the parameters for the refund request.
Variable | Description | Example/Value | Default | Required |
---|---|---|---|---|
api_key | Payzoff API key, obtained in the member's profile | D78CD7DAF172B2F1 B55E19D9DDCE6514 | Yes | |
action | Transaction action | refund | Yes | |
amount | For partial refund send necessary amount. Amount must be equal or less then original transaction amount. | 12.23 | Parent transaction's amount. Refund will be done in the currency of the parent transaction | Yes |
payzoff_transaction_id | Payzoff's transaction ID | 123433434 | Yes | |
signature | md5 hash: api_key + transaction amount + transaction currency + payzoff_transaction_id + signature_key (signature_key is obtained in the member's profile) Pay attention, signature differs from the payment signature! | Yes |
2. Refund Response
You will get response in JSON format, ex:
"status":
"ok"
,"response_code":0
,"result":{"refund_status":"success"
,"tran_status_code":
"15"
, "ref_id":"4586"
}}
Status Check
You can check status of the payment for any transaction happen via API.
Notice
This method is mandatory to use for outgoing transactions, if Merchant hasn’t received Payzoff Response or Response doesn’t much criteria of this Manual.
1. Method get_tx_status
Variable | Format | Description | Example value | Required |
---|---|---|---|---|
api_key | alphanumeric, space & underscore; 32 | Payzoff API key, obtained in the member's profile | D78CD7DAF172B2F1B55E19 D9DDCE6514 | Yes |
action | alphabetic space & underscore; 1-60 | Transaction action | get_tx_status | Yes |
transaction_id | alphanumeric, 1-64 | Merchant transaction ID | 1234567898 | Yes |
You will get response in JSON format, ex:
Host:
https://api.payzoff.io
Key1=Value1&Key2=Value2&
…"api_key":
"A8CF017C7286E2603C7A349B1D71D030"
,"action":
"get_tx_status"
,"transaction_id":
"1234567898"
}
2. Method get_tx_status response
Variable | Format | Description | Example value |
---|---|---|---|
status | alphanumeric, space & underscore; 32 | Payzoff API response status | fail |
response_code | numeric; 1-60 | Payzoff API response status code | 0 |
transaction_id | alphanumeric, 1-64 | Payzoff transaction ID | 1234567898 |
seller_transaction_id | alphanumeric, 1-64 | Merchant transaction ID | |
amount | decimal; 3-20 | Transaction amount. | 3.64 |
currency | alphabetic; 3 | Transaction currency in ISO4217 | USD |
transaction_status | alphabetic | Transaction status | Success |
tran_status_code | numeric | Transaction status code (See Appendix 3) | 12 |
Example response:
JSON
“status":
"ok"
,"status_code":0
,"result {"transaction_id":
"11212121212"
,“seller_transaction_id”:
"38207372"
"amount":
"4.99"
,"currency":
"USD"
,"create_date":
“1404387194”
,"transaction_status":
"Complete"
,"transaction_status_code":
"12"
}}
Payment methods
Appendix 1 to Integration Manual. Payment methods
Method code | Name | Type | Refund is possible | Partial refund is available |
---|---|---|---|---|
1585 | argencard | incoming | y | n |
1121 | Astropay Card | incoming | n | n |
1124 | Bancontact | incoming | y | y |
1115 | Boleto Bancario | incoming | n | n |
1587 | cencosud | incoming | y | y |
1001 | Credit Card | incoming | y | y |
1082 | EPS | incoming | y | y |
1085 | Giropay | incoming | y | y |
1088 | Мultibanco | incoming | n | n |
1079 | MyBank | incoming | y | n |
1091 | naranja | incoming | y | y |
1588 | nativa | incoming | y | y |
1590 | pagofacil | incoming | y | y |
1118 | Paysafecard | incoming | n | n |
1097 | Przelewy24 | incoming | y | y |
1592 | Rapipago | incoming | y | y |
1106 | SafetyPay | incoming | y | y |
1593 | Santander | incoming | y | y |
1076 | Sofort | incoming | y | y |
1109 | TrustPay | incoming | n | n |
1112 | Verkkopankki | incoming | n | n |
1201 | MYR MBB Maybank Berhad | incoming | n | n |
1202 | MYR PBB Public Bank Berhad | incoming | n | n |
1203 | MYR CIMB CIMB Bank Berhad | incoming | n | n |
1204 | MYR HLB Hong Leong Bank Berhad | incoming | n | n |
1205 | MYR RHB RHB Banking Group | incoming | n | n |
1206 | MYR AMB AmBank Group | incoming | n | n |
1207 | MYR BIMB Bank Islam Malaysia | incoming | n | n |
1208 | THB KKR Karsikorn Bank (K-Bank) | incoming | n | n |
1209 | THB BBL Bangkok Bank | incoming | n | n |
1210 | THB SCB Siam Commercial Bank | incoming | n | n |
1211 | THB KTB Krung Thai Bank | incoming | n | n |
1212 | THB BOA Bank of Ayudhya (Krungsri) | incoming | n | n |
1213 | THB GSB Government Savings Bank | incoming | n | n |
1214 | THB TMB TMB Bank Public Company Limited | incoming | n | n |
1215 | THB CIMBT CIMB Thai | incoming | n | n |
1216 | THB KNK Kiatnakin Bank | incoming | n | n |
1217 | VND TCB Techcombank | incoming | n | n |
1218 | VND SACOM Sacombank | incoming | n | n |
1219 | VND VCB Vietcombank | incoming | n | n |
1220 | VND ACB Asia Commercial Bank | incoming | n | n |
1221 | VND DAB DongA Bank | incoming | n | n |
1222 | VND VTB Vietinbank | incoming | n | n |
1223 | VND BIDV Bank for Investment and Development of Vietnam | incoming | n | n |
1224 | VND EXIM Eximbank Vietnam | incoming | n | n |
1225 | IDR BCA Bank Central Asia | incoming | n | n |
1226 | IDR BNI Bank Negara Indonesia | incoming | n | n |
1227 | IDR BRI Bank Rakyat Indonesia | incoming | n | n |
1228 | IDR MDR Mandiri Bank | incoming | n | n |
1229 | IDR CIMBN CIMB Niaga | incoming | n | n |
1230 | PHP BDO Banco de Oro | incoming | n | n |
1231 | PHP MTB MetroBank | incoming | n | n |
1580 | SEPA Payout | incoming | n | n |
1581 | P24 Payout | incoming | n | n |
1300 | Payout Bank Transfer (split all currencies, Payzoff checkout page) | incoming | n | n |
1301 | MYR Affin Bank PAYOUT | incoming | n | n |
1302 | MYR Alliance Bank PAYOUT | incoming | n | n |
1303 | MYR AM Bank PAYOUT | incoming | n | n |
1304 | MYR Bank Of China PAYOUT | incoming | n | n |
1305 | MYR Bank Simpanan National PAYOUT | incoming | n | n |
1306 | MYR CIMB Bank PAYOUT | incoming | n | n |
1307 | MYR Citi bank PAYOUT | incoming | n | n |
1308 | MYR Hong Leong Bank PAYOUT | incoming | n | n |
1309 | MYR HSBC Bank PAYOUT | incoming | n | n |
1310 | MYR Maybank PAYOUT | incoming | n | n |
1311 | MYR OCBC Bank PAYOUT | incoming | n | n |
1312 | MYR Public Bank PAYOUT | incoming | n | n |
1314 | MYR RHB Bank PAYOUT | incoming | n | n |
1315 | MYR UOB Bank PAYOUT | incoming | n | n |
1316 | MYR Standard Chartered Bank PAYOUT | incoming | n | n |
1317 | MYR Bank Islam Malaysia PAYOUT | incoming | n | n |
1318 | MYR Bank Simpanan National PAYOUT | incoming | n | n |
1319 | THB Bangkok Bank PAYOUT | incoming | n | n |
1320 | THB Bank Of Ayudhya PAYOUT | incoming | n | n |
1321 | THB Government Savings Bank PAYOUT | incoming | n | n |
1322 | THB KasiKorn Bank PAYOUT | incoming | n | n |
133 | THB KTB Net Bank PAYOUT | incoming | n | n |
1334 | THB Siam Commercial Bank PAYOUT | incoming | n | n |
1335 | THB TMB Bank Public Company Limited PAYOUT | incoming | n | n |
1336 | THB CIMB Thai PAYOUT | incoming | n | n |
1377 | THB Kiatnakin Bank PAYOUT | incoming | n | n |
1338 | VND Asia Commercial Bank PAYOUT | incoming | n | n |
1339 | VND DongA Joint Stock Commercial Bank PAYOUT | incoming | n | n |
1340 | VND Sacom Bank PAYOUT | incoming | n | n |
1341 | VND Techcom Bank PAYOUT | incoming | n | n |
1342 | VND Vietcom Bank PAYOUT | incoming | n | n |
1343 | VND Vietin Bank PAYOUT | incoming | n | n |
1344 | VND Eximbank Vietnam PAYOUT | incoming | n | n |
1345 | VND Bank for Investment and Development of Vietnam PAYOUT | incoming | n | n |
1346 | VND SAIGON Bank PAYOUT | incoming | n | n |
1347 | VND Vietnam International Bank PAYOUT | incoming | n | n |
1348 | VND Agribank PAYOUT | incoming | n | n |
1349 | IDR Bank Central Asia PAYOUT | incoming | n | n |
1350 | IDR Bank Negara Indonesia PAYOUT | incoming | n | n |
1351 | IDR Bank Mandiri PAYOUT | incoming | n | n |
1352 | IDR Bank Rakyat Indonesia PAYOUT | incoming | n | n |
1353 | IDR CIMB Niaga PAYOUT | incoming | n | n |
1354 | PHP Banco De Oro PAYOUT | incoming | n | n |
1355 | PHP MetroBank PAYOUT | incoming | n | n |
Response codes to requesting API
Appendix 2 to Integration Manual. Response codes to requesting API
Response Code | Description |
---|---|
0 | No error, request successful |
1 | Empty API key. You may obtain it in you Profile |
2 | API key is invalid. Make sure you put correct API key |
3 | You are not authorized to perform this action |
4 | We require transaction amount |
5 | You are only allowed to perform your request via SSL |
6 | We require seller transaction ID |
7 | We already got transaction with current transaction ID |
8 | We require to set return_url, result_url and fail_url |
9 | We require Action value |
10 | Signature is wrong. Make sure you generate it correct |
11 | We require Currency code value |
12 | Payment is successfully finished |
Transaction status codes
Appendix 3 to Integration Manual. Transaction status codes
Status Code | Title | Description |
---|---|---|
3 | Start | Transaction initiated and waiting for payment |
6 | Aborted | Cancelled by Customer |
7 | Expired | Transaction expired due to Customer inactivity |
12 | Success | Transaction completed successfully |
15 | Refund complete | Refund completed successfully |
18 | Refund start | Refund process initiated |
21 | Refund fail | Refund failed |
24 | Fail other reason | No specific reason was assigned. See error message field |
26 | Declined by customer’s bank | Transaction was declined by Customer’s bank |
27 | Failed after success | Provider changed status of the transaction after it it had been successful previously |