Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

NETELLER Direct v4.1.

3 API Technical Documentation


October 22, 2007

NETELLER Direct v4.1.3

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

October 22, 2007

Confidential, NETELLER, 2007

Page A

NETELLER Direct v4.1.3

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

Improved Error Handling and Resolution


When a NETELLER Direct transaction is declined, NETELLER will return error messaging that you can present to the member. This messaging will include a clear indicator of the problem and may include a localized NETELLER telephone number and/or a URL that will take them to a NETELLER site where they will be able to see their account balance, raise their instaCASH limits, or perform other actions that will enable them to complete their transactions. Error messaging can be returned in any of NETELLERs supported languages: Chinese (simplified), Danish, English, French, German, Italian, Japanese, Polish, Portuguese (Brazil), Spanish, Swedish, and Turkish. See Appendix C for translated error messaging. Merchants who fully adopt NETELLER Direct v4.1 will be able to access a custom business intelligence report about how many members were able to resolve their error and then perform a successful NETELLER transfer.

10/22/2007

Confidential, NETELLER, 2007

Page 1

NETELLER Direct v4.1.3

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

Multiple Currency Support


NETELLER supports transactions in U.S. dollars (USD), Canadian dollars (CAD), Great Britain pounds (GBP), Euros (EUR), Chinese Yuan (RMB) and Swedish Krona (SEK). Contact NETELLER Merchant Business Development to set up an account with your choice of currencies. Please note that Chinese Yuan (RMB) transactions are only supported for NETELLER (1-PAY) merchants and members.

2.5

Unique Transaction IDs


NETELLER stores your unique transaction ID, or merch_transid, for each transfer from a member account to your merchant account. You can use the transaction ID for future reconciliation or to check on the status of a failed transaction. You must send a unique transaction ID for each transaction and for each retry or you will not be able to check the status of the transaction with the Check Transaction Status API. You will also not be able to check the status of the transaction if you use a transaction ID that has been used with the Instant Payouts API (formerly Auto Payouts).

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

Register for NETELLER Direct v4.1


You must email merchantbizdev@neteller.com to register to use NETELLER Direct v4.1. Merchants who do not register and who try to POST forms to the NETELLER Direct v4.1 API will receive error code 5000 (merchant is not registered to use this API and version combination).

10/22/2007

Confidential, NETELLER, 2007

Page 2

NETELLER Direct v4.1.3

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

Creating a Form for POST


You must create a standard HTML form to POST variables to the NETELLER system with the action of the form set to https://api.neteller.com/netdirect.

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

Confidential, NETELLER, 2007

Page 3

NETELLER Direct v4.1.3

4.1.4 4.1.5 4.1.6 4.1.7

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

Confidential, NETELLER, 2007

Page 4

NETELLER Direct v4.1.3

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

Transaction Processing Results - Approved


If a transaction that has been POSTED to the NETELLER system is approved, the transaction will be recorded to the system and a string of XML variables will be returned to the calling page. If you wish to receive an email with the members name, the transaction amount, and the NETELLER transaction ID, please email merchantbizdev@neteller.com.

10/22/2007

Confidential, NETELLER, 2007

Page 5

NETELLER Direct v4.1.3

5.1
5.1.1

Approved Variable Descriptions


These variables will need to be parsed out of the XML structure so they can be used to update your system. approval A 1-word response that designates whether or not the transaction has been approved. If the transaction has been approved, yes will be sent. amount The total amount of the transfer as you requested. The amount will be greater than 1 USD, 1 CAD, 1 GBP, 1 EUR, or 1 SEK and may have decimal places but no currency symbols. da_amount The amount of the transfer that is being withdrawn from the bank account registered with the members NETELLER account. The amount may have decimal places but no currency symbols. client_currency The 3-letter currency code associated with the amount taken from the members NETELLER account. client_amount The amount taken from the member in the currency of their NETELLER account. The amount will be at least 1 USD, 1 CAD, 1 GBP, 1 EUR, or 1 SEK and may have decimal places but no currency symbols. merchant_currency The 3-letter currency code associated with the amount moved to your merchant account. merchant_amount The amount moved to you in the currency of your merchant account. The amount will be at least $10 USD or equivalent and may have decimal places but no currency symbols. trans_id The unique ID that identifies the transaction in the NETELLER system. This will be used to validate the transaction. custom_1 Echo of original variable. custom_2 Echo of original variable. custom_3 Echo of original variable. error This will always be returned as none for approved transactions. fee The fee you are charged for the transfer. dafee The additional fee you are charged for the transfer if it was a Direct Accept transaction. total_fee The total fee you are charged for the transfer if it was a Direct Accept transaction (fee + dafee).

5.1.2

5.1.3

5.1.4 5.1.5

5.1.6 5.1.7

5.1.8

5.1.9 5.1.10 5.1.11 5.1.12 5.1.13 5.1.14 5.1.15

10/22/2007

Confidential, NETELLER, 2007

Page 6

NETELLER Direct v4.1.3

5.1.16 5.1.17 5.1.18 5.1.19 5.1.20

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

Approved Variables Example


Below is an example of what a returned XML variable string should look like when a Direct Accept transaction is approved. Non-Direct Accept transactions will be returned without the da_amount, dafee, and total fee variables. <!--- START OF EXAMPLE <?xml version="1.0" encoding="ISO-8859-1" ?> <netdirect version="4.1"> <approval>yes</approval> <amount>50</amount> <da_amount>30</amount> <trans_id>34</trans_id> <error>none</error> <fee>1.95</fee> <time>{ts '2006-10-15 14:36:32'}</time> <firstname>John</firstname> <lastname>Smith</lastname> <email>it@neteller.com</email> <custom_1>Cust 111</custom_1> <custom_2>Cust 222</custom_2> <custom_3>Cust 333</custom_3> <dafee>2.10</dafee> <total_fee>4.05</total_fee> <client_currency>CAD</client_currency> <client_amount>67.63</client_amount> <merchant_currency>USD</merchant_currency> <merchant_amount>50</merchant_amount> <fxrate>0.7393</fxrate> </netdirect> <!--- END OF EXAMPLE

See Appendix B for an example XML schema. Contact NETELLER Merchant Business Development if you need more information about XML schemas.

10/22/2007

Confidential, NETELLER, 2007

Page 7

NETELLER Direct v4.1.3

6.0

Transaction Processing Results - Declined


If a transaction that has been POSTED to the NETELLER system is declined, a string of XML variables will be returned to the calling page, including an error code that explains the reason for the decline, a localized NETELLER Contact Center telephone number, URL, and error messaging. See Appendix A for more information about which elements will be sent with each error.

6.1
6.1.1

Declined Variable Descriptions


These variables will need to be parsed out of the XML structure so they can be used to update your system. approval A 1-word response that designates whether or not the transaction has been approved. If the transaction has been declined, no will be sent. custom_1 Echo of original variable. custom_2 Echo of original variable. custom_3 Echo of original variable. error Failed transactions will return a 4-digit code that designates the reason for the decline. See Section 6.2 for a list of error codes. url A URL that directs the member to a NETELLER site where they will be able to resolve their error. url_message A sentence that will be used to present the link to the member (e.g. Please sign in to your NETELLER account to confirm your current balance.) telephone_message A sentence with a localized NETELLER Customer Service telephone number based on the members country of residence. error_message Messaging that you can present to members so they will be able to resolve their error. See Section 6.2 for a list of error codes and corresponding messaging.

6.1.2 6.1.3 6.1.4 6.1.5

6.1.6 6.1.7

6.1.8

6.1.9

6.2

Error Codes Member Errors


All possible error codes that could be returned by the NETELLER system are listed below with an explanation of the code and suggested messaging to return to members when applicable. Please note that messaging may include a combination of the url, url_message, telephone_message, and error_message variables, and that messaging should be formatted as presented below. See Appendix A for more information about which elements will be sent with each error.

10/22/2007

Confidential, NETELLER, 2007

Page 8

NETELLER Direct v4.1.3

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.

Error Code 1002

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

The specified amount is above or below specified limits.

1007

There is a problem with the net_account or secure_id variables.

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

Confidential, NETELLER, 2007

Page 9

NETELLER Direct v4.1.3

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

Unknown error. Transaction failed.

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

Confidential, NETELLER, 2007

Page 10

NETELLER Direct v4.1.3

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

The specified amount exceeds the members transaction limit.

6.3

Error Codes Merchant Errors


All possible error codes that could be returned by the NETELLER system when there is a problem with your post are listed below. You should provide members with the following message when these errors occur: Your request could not be completed. Please contact the merchants customer service for more information.

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

Confidential, NETELLER, 2007

Page 11

NETELLER Direct v4.1.3

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

Declined Variables Example


Below is an example of what a returned XML variable string should look like when a transaction is declined: <!--- START OF EXAMPLE <netdirect version="4.1"> <approval>no</approval> <error>1010</error> <error_message>You have requested an amount higher than the balance available in your NETELLER account.</error_message> <custom_1>cust1</custom_1> <custom_2>cust2</custom_2> <custom_3>cust3</custom_3> <url>http://urltobedetermined.com</url> <url_message>Please sign in to your NETELLER account to confirm your current balance.</url_message> <telephone_message>Should you have any questions, call the NETELLER Customer Contact Centre at 1-888-258-5859.</telephone_message></netdirect> <!--- END OF EXAMPLE

6.5

Error Resolution Window


When a member selects a link that asks them to sign in to NETELLER, they will be presented with an error resolution window where they can sign in and see a description of the problem and a path to resolution.

Fig.1 Error resolution sign-in.

10/22/2007

Confidential, NETELLER, 2007

Page 12

NETELLER Direct v4.1.3

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

Confidential, NETELLER, 2007

Page 13

NETELLER Direct v4.1.3

7.0

Related API Check Transaction Status


NETELLER offers a related, optional API that allows you to check a transactions status within the NETELLER system after it has been POSTED through NETELLER Direct. Please note that attempts to check the status of transactions made by NETELLER (1-PAY) members will result in error code 2001.

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

Creating a Form for POST


You must create a standard HTML form, similar to the form you created for NETELLER Direct, to POST variables to the NETELLER system with the action of the form set to https://api.neteller.com/netcheck.

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

Confidential, NETELLER, 2007

Page 14

NETELLER Direct v4.1.3

<input type="submit" name="button" value="Check This Transfer"> </form> <!--- END OF EXAMPLE

7.5

Returned Variables Successful Transaction


If a DA transaction was successfully recorded by the NETELLER system, you will be sent the following XML response. Non-Direct Accept transactions will be returned without the da_amount, dafee, and total fee variables. <!--- START OF EXAMPLE <?xml version="1.0" encoding="ISO-8859-1" ?> <netdirect version="4.1"> <approval>yes</approval> <amount>50</amount> <da_amount>30</amount> <trans_id>34</trans_id> <error>none</error> <fee>1.95</fee> <time>{ts '2006-10-15 14:36:32'}</time> <firstname>John</firstname> <lastname>Smith</lastname> <email>it@neteller.com</email> <custom_1>Cust 111</custom_1> <custom_2>Cust 222</custom_2> <custom_3>Cust 333</custom_3> <dafee>3.50</dafee> <total_fee>4.05</total_fee> <client_currency>CAD</client_currency> <client_amount>67.63</client_amount> <merchant_currency>USD</merchant_currency> <merchant_amount>50</merchant_amount> <fxrate>0.7393</fxrate> </netdirect> <!--- END OF EXAMPLE

7.6

Returned Variables Unsuccessful Transaction


If the transaction did not yet finish processing or if the transaction failed, you will be sent the following XML response: <!--- START OF EXAMPLE <?xml version="1.0" ?> <netdirect version="4.1"> <approval>no</approval> <error>2002</error> </netdirect> <!--- END OF EXAMPLE

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

NETELLER Direct v4.1.3

<?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

Appendix A Error Elements Matrix


The following matrix indicates which error messaging elements will be returned for each member error.

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

Confidential, NETELLER, 2007

Page 16

NETELLER Direct v4.1.3

1023 1024 1026 1027 1029 1030 X

X X X X X X

10.0

Appendix B Example XML Schema


<xs:schema targetNamespace="http://neteller.com/merchant/ri/domain/netdirect" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mkt="http://neteller.com/merchant/ri/domain/netdirect" elementFormDefault="qualified"> <xs:element name="netdirect"> <xs:complexType> <xs:sequence> <xs:element name="approval" type="xs:string" /> <xs:element name="amount" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element name="da_amount" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element name="trans_id" type="xs:string" minOccurs="0" maxOccurs="1"/> <xs:element name="error" type="xs:string" /> <xs:element name="error_message" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element name="fee" type="xs:string" minOccurs="0" maxOccurs="1"/> <xs:element name="time" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element name="firstname" default="" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element name="lastname" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element name="email" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element name="dafee" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element name="custom_1" type="xs:string" ></xs:element> <xs:element name="custom_2" type="xs:string" /> <xs:element name="custom_3" type="xs:string" /> <xs:element name="total_fee" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element name="client_currency" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element name="client_amount" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element name="merchant_currency" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element name="merchant_amount" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element name="fxrate" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element name="url" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element name="url_message" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element name="telephone_message" type="xs:string" minOccurs="0" maxOccurs="1" />

10/22/2007

Confidential, NETELLER, 2007

Page 17

NETELLER Direct v4.1.3

</xs:sequence> <xs:attribute name="version" type="xs:string" /> </xs:complexType> </xs:element> </xs:schema>

10/22/2007

Confidential, NETELLER, 2007

Page 18

You might also like