Professional Documents
Culture Documents
NETELLER Direct v4.1.3 API Documentation
NETELLER Direct v4.1.3 API Documentation
Table of Contents
1.0 1.1 2.0 2.1 2.2 2.3 2.4 2.5 3.0 3.1 3.2 4.0 4.1 4.2 5.0 5.1 5.2 6.0 6.1 6.2 6.3 6.4 6.5 7.0 7.1 7.2 7.3 7.4 7.5 7.6 8.0 9.0 10.0 Introduction.................................................................................................................................................. 1 Updates to Document ............................................................................................................................... 1 Features........................................................................................................................................................ 1 NETELLER Direct Accept......................................................................................................................... 1 Improved Error Handling and Resolution ................................................................................................. 1 Country Blocking....................................................................................................................................... 2 Multiple Currency Support ........................................................................................................................ 2 Unique Transaction IDs ............................................................................................................................ 2 Integration Notes ......................................................................................................................................... 2 Register for NETELLER Direct v4.1 ......................................................................................................... 2 Testing ...................................................................................................................................................... 3 Creating a Form for POST .......................................................................................................................... 3 Variables to be Posted.............................................................................................................................. 3 File Example ............................................................................................................................................. 5 Transaction Processing Results - Approved ........................................................................................... 5 Approved Variable Descriptions ............................................................................................................... 6 Approved Variables Example ................................................................................................................... 7 Transaction Processing Results - Declined ............................................................................................. 8 Declined Variable Descriptions................................................................................................................. 8 Error Codes Member Errors .................................................................................................................. 8 Error Codes Merchant Errors............................................................................................................... 11 Declined Variables Example................................................................................................................... 12 Error Resolution Window ........................................................................................................................ 12 Related API Check Transaction Status ................................................................................................ 14 Integration Notes .................................................................................................................................... 14 Creating a Form for POST...................................................................................................................... 14 Variables to be Posted............................................................................................................................ 14 File Example ........................................................................................................................................... 14 Returned Variables Successful Transaction........................................................................................ 15 Returned Variables Unsuccessful Transaction.................................................................................... 15 Contact NETELLER ................................................................................................................................... 16 Appendix A Error Elements Matrix....................................................................................................... 16 Appendix B Example XML Schema ...................................................................................................... 17
Page A
1.0
Introduction
NETELLER Direct allows you to integrate NETELLER payment services into your merchant site or application. Once you have completed the integration process, you will be able to automatically accept NETELLER payments directly on your site or application. Merchants who are upgrading from NETELLER Direct v4.0 to NETELLER Direct v4.1.1 will only need to Add fields to their current HTML form POST. Make minor modifications to their XML parser. Email merchantbizdev@neteller.com to register to use NETELLER Direct v4.1.1.
1.1
Updates to Document
NETELLER is releasing NETELLER Direct v4.1.1 to allow you to accept payments from NETELLER (1-PAY) members. You will not be required to make development changes to your site. Changes include NETELLER (1-PAY)-specific error messaging and Chinese language support. NETELLER has reduced the transaction minimum limit to one unit of currency.
2.0
2.1
Features
NETELLER Direct Accept
NETELLER Direct Accept enables members to access funds from the bank account registered with their NETELLER account without leaving your site. All Direct Accept, or instaCASH, deposits initiated on your site will be withdrawn from the members NETELLER account first and if the full amount cannot be covered, the remaining funds will be withdrawn from their bank account (minimum $10). Should you choose to offer Direct Accept on your site, you will only be charged a Direct Accept fee for funds that are withdrawn from the members bank account.
2.2
10/22/2007
Page 1
2.3
Country Blocking
Merchants who adopt NETELLER Direct v4.1 will be able to block transactions from members residing in countries where they do not wish to do business. They will also be able to block members residing in individual states within the United States of America. Please note that blocking is based on the member residence listed in the members NETELLER account. If you are interested in our new country blocking abilities, contact NETELLER Merchant Business Development to arrange your country-blocking preferences.
2.4
2.5
3.0
Integration Notes
To integrate with the NETELLER system, you will need to: Set up a simple form to POST variables to NETELLER. Set up code to parse the XML response from NETELLER and to update your system. Contact NETELLER Merchant Business Development if you need examples of XML parsing techniques for Cold Fusion, ASP, or Perl. You also have the option to set up a POST to check the status of a transaction.
3.1
10/22/2007
Page 2
3.2
Testing
You can easily test with NETELLER Direct because all variables to be POSTED, all returned XML, and all error codes are identical between the testing and production environments. To perform a test transaction, call the NETELLER Direct API with the test attribute set to 1.
3.2.1
Testing Differences Test transactions will have the following differences from live transactions: The trans_id returned by NETELLER will be 6 digits for test transactions and 8 digits for live transactions. Balances will not be affected by test transactions. Test transactions will only appear in the Transfers section of your NETELLER merchant account and will not be searchable in your account history. Because test transactions are not searchable, they will not need to be deleted from your account.
3.2.2
Error Testing You can create most errors by using bad data. If you cannot create a desired error, add the error variable to your POST and the error number you wish to see, and that error will be included in the XML reply. Test URL https://api.neteller.com/netdirect. Test Accounts Currency USD CAD GBP EUR SEK Account ID 458415554241 455715767192 451015522412 456115522530 453323215280 Secure ID 896365 283419 568492 362626 693357 Bank Account for Direct Accept 6789 6789 6789 6789 6789
3.2.3 3.2.4
4.0
4.1
4.1.1 4.1.2
Variables to be Posted
version (required) The NETELLER Direct API version that you are POSTING the form to. Set the value to 4.1. amount (required) The amount the member is sending from their NETELLER account to their merchant account. The amount must be greater than 1 USD, 1 CAD, 1 GBP, 1 EUR, or 1 SEK, can have decimal places but no currency symbols, and can be up to 10 characters in length. merchant_id (required) The Merchant ID you were assigned when your NETELLER merchant account was created.
4.1.3
10/22/2007
Page 3
merch_key (required) The Merchant Key you were assigned when your NETELLER merchant account was created. net_account (required) The members 12-digit Account ID that was assigned when they created their NETELLER account. secure_id (required) The members 6-digit Secure ID that was assigned when they created their NETELLER account. merch_transid (required) A merchant-assigned identification code. The transaction ID will be recorded in our database along with the transaction for identification purposes. The merch_transid ID can have letters or numbers and can be up to 50 characters in length. The merch_transid must be unique for each transaction and each retry, and cannot have been used with the Instant Payouts API or you will not be able to check the status of the transaction with the Check Transaction Status API.
4.1.8
currency (required) The 3-letter currency code associated with the transaction. NETELLER only processes requests in our 6 supported currencies: USD, CAD, GBP, EUR, RMB and SEK. language_code (optional) The 2-letter language code that indicates the members language preference. Please note that NETELLER supports English (EN), simplified Chinese (ZH), Danish (DA), French (FR), German (DE), Italian (IT), Japanese (JA), Polish (PL), Portuguese (Brazil) (PT), Spanish (ES), Swedish (SV), and Turkish (TR). If a language is not specified and a transaction results in an error, the error message will be returned in English. bank_acct_num (optional) The last 4 digits of the bank account registered with the members NETELLER account. Include this variable if you offer Direct Accept on your site. merch_name (optional) The name of the merchant site where the member is transacting. This optional variable can be up to 50 characters in length and will support language encodings. If provided, this variable will be displayed on the error resolution pages. See section 6.0 for more information about NETELLER Direct errors and error resolution pages. merch_account (optional) This optional variable can be used to include information that will be echoed back to you in the Account column of the transfers table in your merchant account. You can use this to assist in reconciling your transactions (e.g. a members account identification on your site, your sites transaction ID, etc.). You can send up to 50 characters for this variable. custom_1 (optional) An optional parameter that can be sent for any variable you need to add. This variable is echoed back to you. This variable can be up to 50 characters in length. custom_2 (optional) An optional parameter that can be sent for any variable you need to add. This variable is echoed back to you. This variable can be up to 50 characters in length.
4.1.9
4.1.10
4.1.11
4.1.12
4.1.13
4.1.14
10/22/2007
Page 4
4.1.15
custom_3 (optional) An optional parameter that can be sent for any variable you need to add. This variable is echoed back to you. This variable can be up to 50 characters in length. test (optional) An optional parameter that designates whether or not the transaction is a test. A value of 1 designates a test transaction and a value of 0 designates a live transaction. Testing can only occur with the member account details listed in Section 3.2.4 of this document. If you do not include this parameter, the request will be processed as a live transaction. error (optional) An optional parameter used during testing to simulate an error. Make this attribute equal to the error code you want returned. encoding (optional) An optional parameter you can use to designate the encoding for NETELLERs xml response. NETELLER supports UTF-8 and ISO-8859-1. If you do not include this variable or if you designate an unsupported encoding type, NETELLER will, by default, encode the response as UTF-8.
4.1.16
4.1.17
4.1.18
4.2
File Example
Below is an example of what a form should look like: <!--- START OF EXAMPLE <form method=post Action= https://api.neteller.com/netdirect"> <input type="text" name="version" value=" 4.1"> <input type="text" name="amount" size="10" maxlength="10"> <input type="text" name="currency" size="10" maxlength="3"> <input type="text" name="net_account" size="20" maxlength="12"> <input type="text" name="secure_id" size="10" maxlength="6"> <input type="text" name="bank_acct_num" size="10" maxlength="4"> <input type="hidden" name="merchant_id" value="Your Merchant ID"> <input type="hidden" name="merch_key" value="Your Merchant Key"> <input type="hidden" name="merch_transid" value="Unique Transaction ID" maxlength="50"> <input type="hidden" name="language_code" value="Client Language"> <input type="hidden" name="merch_name" value="NETELLER Merchant"> <input type="hidden" name="merch_account" value="john123" maxlength="50"> <input type="hidden" name="custom_1" value="test123" maxlength="50"> <input type="hidden" name="custom_2" value="test123" maxlength="50"> <input type="hidden" name="custom_3" value="test123" maxlength="50"> <input type="submit" name=button value="Make Transfer"> <!--- END OF EXAMPLE
5.0
10/22/2007
Page 5
5.1
5.1.1
5.1.2
5.1.3
5.1.4 5.1.5
5.1.6 5.1.7
5.1.8
10/22/2007
Page 6
fxrate The foreign exchange rate applied to the transaction. time The date and time the transaction took place in ODBC datetime format (e.g. {ts '2001-10-01 00:00:00'}). firstname The first name, or given name, of the member who made the transaction. lastname The last name, or family name, of the member who made the transaction. email The email address of the member who made the transaction.
5.2
See Appendix B for an example XML schema. Contact NETELLER Merchant Business Development if you need more information about XML schemas.
10/22/2007
Page 7
6.0
6.1
6.1.1
6.1.6 6.1.7
6.1.8
6.1.9
6.2
10/22/2007
Page 8
Please note that error message 1030 includes three telephone numbers for China, which results in an error message that is 236 characters long. NETELLER has listed the phone numbers according to priority in case your XML parser truncates the message text.
Explanation There is a problem with the length of the net_account or secure_id variables.
Messaging for Members There was a problem with the length of your Account ID or your Secure ID. Your Account ID must be 12 digits and your Secure ID must be 6 digits. Please try again. There was a problem with your Account ID, your Secure ID, or the amount you entered. You must only enter numbers in the Account ID, Secure ID, and amount fields. Please try again. You have requested an amount that is below 1 USD, 1 CAD, 1 GBP, 1 EUR, or 1 SEK or is above the merchants transfer limit. Please contact the merchants customer service for more information. The Account ID or Secure ID you entered is not valid. Need help? Click here for assistance from a NETELLER Customer Service agent. Your request could not be completed at this time. Need help? Click here for assistance from a NETELLER Customer Service agent. You have requested an amount higher than the balance available in your NETELLER account. Please sign in to your NETELLER account to confirm your current balance. Should you have any questions, call NETELLER Customer Service at {localized number}.
1003
One of the net_account, secure_id, merchant_id, or amount variables are not in numeric format.
1005
1007
1009
The members NETELLER account has been temporarily suspended. Please direct them to contact NETELLER Customer Service. The specified amount is above the members available balance.
1010
1011
The member does not have permission to use instaCASH/Direct Accept. Please direct them to contact NETELLER Customer Service. Note: this error will only occur when a member performs a Direct Accept transaction.
Your request could not be completed. Please call NETELLER Customer Service at {localized number}.
10/22/2007
Page 9
1012
There is a problem with the bank_acct_num variable. Note: this error will only occur when a member performs a Direct Accept transaction.
The last 4 digits of your bank account number do not match the number registered with your NETELLER account. Please sign in to your NETELLER account to confirm your bank account number. Should you have any questions, call NETELLER Customer Service at {localized number}. You have requested an amount higher than your total available funds. Please sign in to your NETELLER account to confirm your current funds. Should you have any questions, call NETELLER Customer Service at {localized number}. Your request could not be completed. Please call NETELLER Customer Service at {localized number}.
1013
The specified amount is above the total of the members NETELLER account balance and Direct Accept limits. Note: this error will only occur when a member performs a Direct Accept transaction.
1014
Member account error. Please direct them to call NETELLER Customer Service. Note: this error will only occur when a member performs a Direct Accept transaction.
1016
Unknown error. Transaction failed. Note: the text for this error message may be returned in English with the global telephone number (+1 403 233 9466) regardless of the members preferred language or country of residence.
Your request could not be completed. Please call NETELLER Customer Service at {localized number}.
1019
Your request could not be completed. Please call NETELLER Customer Service at {localized number}.
1023
Member has not accepted NETELLERs Terms and Conditions. Member is residing in a blocked country/state/region. Member does not have a bank account registered with NETELLER. Note: this error will only occur when a member performs a Direct Accept transaction.
Transaction not completed. You must sign in to your NETELLER account and accept the Terms and Conditions. Your request could not be completed. This merchant does not accept funds transfers from your area of residence. You do not have a bank account registered with your NETELLER account. You must register a bank account with NETELLER before you can use instaCASH.
1024
1026
Should you have any questions, call NETELLER Customer Service at {localized number}.
10/22/2007
Page 10
1027
Member is not eligible for instaCASH due to country of residence. Note: this error will only occur when a member performs a Direct Accept transaction.
You are not eligible to use instaCASH. Please do not enter your bank account information.
1028
Member is residing in a NETELLER-blocked country/state/region. You do not have a NETELLER (1-PAY) merchant account. Unknown error. Transaction failed.
Your request cannot be completed. Fund transfers from your area of residence to this merchant are not available. This merchant does not support NETELLER (1-PAY) transactions. Your request could not be completed. Please call NETELLER (1-PAY) Customer Service at 86-13075600300 (nationwide mobile phone users), 86-108008530056 (fixed line users - Northern China), 86108001530056 (fixed line users - Southern China) You have exceeded your transaction limit. Click here to contact NETELLER and raise your limit.
1029 1030
1031
6.3
Error Code 1001 1004 1005 1006 1015 1017 1018 1020
Explanation One or more of the required variables has not been sent or has not been received properly by the NETELLER Direct API. Invalid merchant_id or merchant_key. The specified amount is above your merchant transaction limit or less than 1 USD, 1 CAD, 1 GBP, 1 EUR, or 1 SEK. Contact NETELLER Merchant Business Development. There is a problem with your merchant account. Contact NETELLER Merchant Business Development. Invalid currency. Your NETELLER Merchant Account does not support this currency. You cannot perform live transfers. Only test transactions are allowed. Merchant account error. There is a problem with the test account details. You can only perform a test transaction with the test account details listed in the NETELLER Direct API documentation.
10/22/2007
Page 11
1021
There is a problem with the length of the amount, merch_account, merch_transid, custom_1, custom_2, or custom_3 variables. The amount variable can only contain up to 10 characters and the merch_account, merch_transid, custom_1, custom_2, and custom_3 variables can only contain up to 50 characters. There was a problem with the version variable. You may only enter 4.0 or 4.1. You are not registered to use this API and version combination.
1025 5000
6.4
6.5
10/22/2007
Page 12
This window should be presented as a pop-up so that members do not have to reload to return to your merchant site when they are finished. After the member has performed an action such as raised their instaCASH limit, or if they are not able to perform an action directly on that page, they can close the window and retry their original transaction.
Fig.1 Error resolution after member raised their instaCASH limit. Content subject to change.
To display the error resolution window as pop-up, use this example code: <a href="URL returned in XML response" target="newWin" onclick="popUp(this.href,625,478); return false;"> URL message returned in XML response </a>
This code creates a pop-up window that is secure and resizeable. The following JavaScript popup function call should be used within the HTML <head> </head> tags: <head> <script type="text/javascript"> function popUp(strURL,strHeight,strWidth) { strOptions="height="+strHeight+",width="+strWidth+",location=yes,status=yes,scrollbars=yes,resizable=ye s"; newWin = window.open(strURL, 'newWin', strOptions); newWin.focus(); } </script> </head>
10/22/2007
Page 13
7.0
7.1
Integration Notes
The integration of this API is similar to the integration of NETELLER Direct. In order to integrate this API, you will need to: Set up a simple form to POST variables to NETELLER. Set up code to parse the XML response from NETELLER and to update your system. Contact NETELLER Merchant Business Development if you need examples of XML parsing techniques for Cold Fusion, ASP, or Perl.
7.2
7.3
7.3.1 7.3.2 7.3.3 7.3.4 7.3.5
Variables to be Posted
merchant_ID (required) The Merchant ID you were assigned when your NETELLER merchant account was created. merch_transid (required) The unique identification code you sent with the original POST to our NETELLER Direct API. merch_key (required) The Merchant Key you were assigned when your NETELLER merchant account was created. merch_pass (required) The password you use to enter your NETELLER merchant account. This variable is case-sensitive. merchantTest (optional) Test mode. If set to 1, only transactions that were created in Test mode will be returned.
7.4
File Example
Below is an example of what a check status form should look like: <!--- START OF EXAMPLE <form method="post" Action="https://api.neteller.com/netcheck"> <input type="hidden" name="merchant_id" value="Your Merchant ID"> <input type="hidden" name="merch_transid" value="Unique Transaction ID"> <input type="hidden" name="merch_pass" value="Your Merchant Password"> <input type="hidden" name="merch_key" value="Your Merchant Key">
10/22/2007
Page 14
<input type="submit" name="button" value="Check This Transfer"> </form> <!--- END OF EXAMPLE
7.5
7.6
If your Merchant ID or transaction ID were not received correctly, or if the transaction ID was used for more than one transaction, you will be sent the following XML response: <!--- START OF EXAMPLE 10/22/2007 Confidential, NETELLER, 2007 Page 15
<?xml version="1.0" ?> <netcheck version="4.1"> <approval>no</approval> <error>2001</error> </netcheck> <!--- END OF EXAMPLE 7.6.1 Error Codes These error codes will indicate if a form did not POST correctly, not if a transaction was declined. 2001 The Merchant ID, transaction ID, merchant key, or merchant password were not valid or received correctly, or the Merchant Key and password could not be authenticated, or the transaction was made by a NETELLER (1-PAY) member. 2002 The transaction has not yet finished processing. 2003 The transaction has failed. 2004 Transaction cannot be found. The transaction ID has been used for more than one transaction.
8.0
Contact NETELLER
Should you have any questions about this document, please email merchantbizdev@neteller.com.
9.0
Error Code 1002 1003 1005 1007 1009 1010 1011 1012 1013 1014 1016 1019
url
url_message
telephone_message
error_message X X X
X X X
X X X X X
X X X X X X X X X
X X
X X
X X X X X
10/22/2007
Page 16
X X X X X X
10.0
10/22/2007
Page 17
10/22/2007
Page 18