Web Service Implementation Guide v1.5.5
|
|
|
- Ashley Marsh
- 9 years ago
- Views:
Transcription
1 Web Service Implementation Guide v1.5.5
2 1 LICENSE CONDITIONS WEB SERVICE 1. DEFINITIONS 1.1 ICEPAY Web Service: The software product provided by ICEPAY B.V. on an as is basis without any warranty of any kind. 1.2 License: A written public act of the Dutch central bank or other governmental body which provides ICEPAY B.V. with these rights. 2. USER LICENSE CONDITIONS WEB SERVICE 2.1 This User License Agreement applies to the use of this ICEPAY Web Service, as supplied by ICEPAY B.V. (further referred to as ICEPAY B.V.). 2.2 BY USING ICEPAY WEBSERVICEA YOU FULLY AGREE TO THE CONDITIONS OF THIS USER LICENSE AGREEMENT. IF YOU DO NOT AGREE TO THIS LICENSE AGREEMENT, YOU SHOULD REFRAIN FROM USING THE ICEPAY WEBSERVICE. 2.3 You may only use the ICEPAY Web Service if such is directly obtained from ICEPAY B.V. and provided from and if you or the organization where you work has entered into an official contract with ICEPAY B.V. and therefore is a Customer in accordance with these conditions. 2.4 This User License Agreement and the use of the ICEPAY Web Service are governed by the laws of The Netherlands. Any disagreement will be placed before a qualified court in The Hague, The Netherlands. The United Nations Convention on Contracts for the International Sale of Goods (CISG) is not applicable. 3. USER LICENSE ICEPAY WEBSERVICE 3.1 ICEPAY B.V. grants Customer the non exclusive right to use this ICEPAY Web Service and corresponding documentation. The license shall go into effect after Customer has fulfilled all its obligations. 4. WARRANTY DISCLAIMER 4.1 The ICEPAY Web Service is made available on an as is basis only and without any warranty or indemnity of any kind. 4.2 ICEPAY B.V. makes no warranties, conditions, indemnities, representations or terms, express or implied, whether by statute, custom, or otherwise as to any other matters, including but not limited to non-infringement of third party rights, integration, accuracy, security, availability, satisfactory quality, merchantability or fitness for any particular purpose. 2
3 5. LIMITATIONS TO INDEMNIFICATION & LIABILITY 5.1 Customer agrees to indemnify ICEPAY B.V. from all liability, losses, actions, damages or claims (including all reasonable costs and attorney costs) which flow forth or are regarding the use or dependency upon the ICEPAY Web Service. 5.2 Under no circumstances will ICEPAY B.V. be liable to Customer, or any other person or entity, for any loss of use, revenue or profit, lost or damaged data, or other commercial or economic loss or for any direct, indirect, special, statutory, or consequential damages whatsoever related to the use or reliance upon ICEPAY Web Service, even if advised of the possibility of such damages or if such damages are foresee able. This limitation shall apply to each breach of this User License Agreement by ICEPAY B.V. 6. ADDITIONAL WORK & SUPPORT 6.1 All activities that ICEPAY B.V. must perform upon request of Customer related to the use of the ICEPAY Web Service, which has been made available at no charge, shall be invoiced as additional work (or support) on the basis of actual costs according to the applicable rates of ICEPAY B.V. 6.2 (Future) incompatibility problems (products are unable to interoperate with each other) can be resolved on the basis of additional work. 6.3 It will be assumed that Customer has agreed with the performance of additional work and the connected costs, if Customer has allowed additional work to take place without raising objections in writing prior to the commencement of additional work. 7. DURATION 7.1 This agreement is effective as of the moment of acceptance and may be terminated at any time by ICEPAY B.V. whereby a notice period of one week shall apply. 8. GENERAL CONDITIONS/APPLICABILITY 8.1 The General Conditions ICEPAY apply to the agreement. The General Conditions ICEPAY are filed at the Chamber of Commerce in The Hague under number The applicability of purchase conditions or any other conditions from Customer or third parties is, then, expressly rejected by ICEPAY B.V. Customer explicitly declares to have received the General Conditions ICEPAY and to agree with the General Conditions ICEPAY. 3
4 REVISION SHEET Date Author Version Comment 11-Nov-2015 Samantha Campbell Checked all links to latest documentation - Replaced 2 links to Parameter Sheet pages 16 & Aug-2015 Kleanthis Druga ConsumerAccountNumber will now return the IBAN - Added new field: ConsumerBIC to GetPaymentResponse 8-April-2015 Samantha Campbell Minor text change to icepay address, updated document URL s on page 9, 16, Feb-2015 Kleanthis Druga Updated section 8.3 with new refund availability for giropay, SOFORT and Bancontact 19-sep-2014 Veronica Hanson Revisions in Checksum cases, testmode, order ID, vault checkout, autocheckout, extended checkout, logging, postback notifications, reporting access, test and live transactions, refund request input, and error message resolutions 24-sep-2013 Huy Hoang Added CheckoutExtended 4-june-2013 Alessandro Tomeo added Recurring Payments 26-june-2012 Sander van Tilburg Fixed checksum for SearchPayments. 22-may-2012 Sander van Tilburg Updated document for new webservice URL s. 06-sep-2011 Sander van Tilburg Added comment about UTF-8 character encoding. 24-june-2011 Sander van Tilburg Added new certificate 06-may-2011 Sander van Tilburg New layout - Added UTF-8 postback description 03-feb-2011 Sander van Tilburg Updated document for Paysafecard - Added some extra explanations. 27-sep-2010 Huy Hoang Added a new chapter about the Refund Web Service. - Added new error codes: ERR_0016, ERR_2000 to ERR_ Minor text changes throughout the entire document. 14-jul-2010 Huy Hoang Fixed example in chapter jun-2010 Huy Hoang Added License Conditions - Revised document structure - Inserted a new segment about session operations at chapter 6, thus moving the original chapter 6 to 7, etc. - Added new exceptions to chapter 7 - Minor text revisions throughout the entire document 09-mar-2010 Huy Hoang Changed the postback interval (defined in chapter 3.1) from 10 to 30 seconds 15-dec-2009 Huy Hoang Added text to paragraphs 4.5 and 4.6 regarding the validation code, added paragraph 5.2.1, and minor text revision throughout the entire document. 4
5 08-dec-2009 Huy Hoang Corrected the flow diagram in paragraph 10.2, paragraph 4.2 revised. Added a link pointing to the Supported Parameters Sheet. 07-dec-2009 Huy Hoang Added SMS payment flow, paragraph 3.1 revised, changed the flow chart in paragraph 5.1.3, added appendix D, and added new web methods: PhoneDirectCheckout, GetPremiumRateNumbers and GetPayment. 17-sep-2009 Huy Hoang Minor text changes 7-sep-2009 Huy Hoang Minor text changes 26-aug-2009 Huy Hoang Added a new paragraph 18-aug-2009 Huy Hoang 1.0 Document revised 14-aug-2009 Huy Hoang 0.5 Appendices added 13-aug-2009 Huy Hoang 0.4 Document revised 6-aug-2009 Huy Hoang 0.3 Minor text changes 25-jun-2009 Huy Hoang 0.2 Minor text changes 16-jun-2009 Huy Hoang 0.1 Initial draft 5
6 TABLE OF CONTENTS 1 License Conditions Web Service... 2 Revision sheet... 4 Table of contents... 6 Preface... 8 How this document is organized... 8 Some assumptions about the reader... 9 Latest version... 9 ICEPAY web service essentials What is the ICEPAY Web Service? Where are the web services located? Implementation Strategies Basic integration Seamless integration Pick your implementation strategy Seamless Integration In Details Phone payments SMS Payments Checkout Web Service Web methods PHP Checkout PhoneCheckout SmsCheckout VAULTCHECKOUT AUTOCHECKOUT CHECKOUTEXTENDED ValidatePhoneCode
7 4.9 ValidateSmsCode PhoneDirectCheckout GetPremiumRateNumbers GetPayment Postback notification Handling the Postback Notification Testing your Postback script Reporting Web Service Allow reporting access How does it work? CreateSession KillSession MonthlyTurnoverTotals GetMerchants GetPaymentMethods SearchPayments Afterpay capture service Refund Web Service Refunding queue Notification Supported payment methods Test and live transactions RequestRefund CancelRefund GetPaymentRefunds Exceptions Error codes Error codes
8 9.3 Error codes Appendix A: flow of the basic integration approach using Checkout web method Appendix C: Certificate APPENDIX D: SMS FLOW (SEAMLESS INTEGRATION) Flow 1: Default End-user Flow Flow 2: End-user Validation Flow PREFACE This document is written for software developers who want to integrate online payment methods offered by ICEPAY into their website or computer system using a web service provided by ICEPAY. HOW THIS DOCUMENT IS ORGANIZED Here is a brief summary of the chapters in this document: Chapter 1 ICEPAY Web Service Essentials covers everything you need to know about the ICEPAY Web Service such as the location of the web service and its WSDL. Chapters 2 to 5 describe the possibilities of the ICEPAY Checkout web service. Chapter 2 Implementation Strategies covers the basic integration and seamless integration approaches. The basic integration saves you time by using default payment screens, whereas the seamless integration allows you to create your own payment screens and use web method calls to finish the payment process (only available for SMS and phone payments). Chapter 3 Seamless Integration in Details covers the flow of payment methods and giving tips on which web methods to use. Chapter 4 Web methods covers the various methods which your system can invoke in order to initialize a payment, query information from ICEPAY, etc. Chapter 5 Postback Notifications covers the Postback notification, which is how your system will be informed regarding the status of your transactions. Chapter 6 Reporting web service solely covers the ICEPAY Reporting Web Service, which allows your client applications to query statistical data from your ICEPAY account. Chapter 7 Refund web service solely covers the ICEPAY Refund Web Service, which allows your client applications to programmatically initiate refund requests. 8
9 SOME ASSUMPTIONS ABOUT THE READER We assume that you, the reader, are an experienced developer and that you are comfortable with objectoriented concepts and web services. Some knowledge about the payment method that you want to implement can be useful, but is not necessary. LATEST VERSION Always check if you have the latest version of this document. The latest version of this document can be found here: 9
10 ICEPAY WEB SERVICE ESSENTIALS This chapter describes the essential concepts of the ICEPAY Web Service and its architecture, enabling you to integrate ICEPAY. 1.1 WHAT IS THE ICEPAY WEB SERVICE? The ICEPAY Web Service is an exciting new technology offered by ICEPAY. It allows you to do server-toserver communication with ICEPAY. The ICEPAY Web Service allows you to initiate a transaction, query transaction details, etc. You can access the web service with SOAP. 1.2 WHERE ARE THE WEB SERVICES LOCATED? The ICEPAY Web Service consists of three web services, each containing a set of operations or web methods that are specifically designed for a specific purpose CHECKOUT WEB SERVICE The Checkout Web Service contains a set of web methods that are designed for checkout purposes such as creating payments, querying payment information, etc. You can read more about the possibilities of this web service in chapters 2 to 5. Use this web service if you are building an online game, auction website, web shop, etc. and you need the possibility for your end-users to pay for your platform s service or products. Note: Please make sure the default encoding is set to UTF-8 The URL for the Checkout Web Service is located here: The WSDL can be found here: ONLY HTTPS IS SUPPORTED! 10
11 1.2.2 REPORTING WEB SERVICE The Reporting Web Service contains a set of web methods that are designed for querying information from your ICEPAY account such as statistical information. Use this web service if you want to query statistical information from your ICEPAY account using your own scripts, or if you want to write a mobile application that is able to view ICEPAY information to the end-user. Please read chapter 6 for more detailed information about this web service. Note: Please make sure the default encoding is set to UTF-8 The URL for the Reporting Web Service is located here: The WSDL can be found here: ONLY HTTPS IS SUPPORTED! AFTERPAY WEB SERVICE The Afterpay Web Service contains a set of web methods that are designed for easily collect your Afterpay accepted payments. Please read chapter 7 for more detailed information about this web service. Note: Please make sure the default encoding is set to UTF-8 The URL for the Afterpay Web Service is located here: The WSDL can be found here: ONLY HTTPS IS SUPPORTED! 11
12 1.2.4 REFUND WEB SERVICE The Refund Web Service contains a set of web methods that are designed for you to programmatically perform refund requests, query refund requests of a payment, and cancel refund requests. Use this web service if you want to have refund capability in your own backend system. Please read chapter 8 for more detailed information about this web service. Note: Please make sure the default encoding is set to UTF-8 The URL for the Refund Web Service is located here: The WSDL can be found here: ONLY HTTPS IS SUPPORTED! 12
13 2 IMPLEMENTATION STRATEGIES There are several implementation strategies for you to choose from when you want to integrate ICEPAY with your own system using the Checkout Web Service. Both have their advantages and disadvantages. 2.1 BASIC INTEGRATION The most basic integration strategy is to use the Checkout web method. The general idea is that you provide the ICEPAY web service the required parameters, and it will return you the results in XML. Inside the XML body, you will find a URL to the payment screen. Use that URL to redirect your end-users to the payment screen. From that moment on, everything will be handled by ICEPAY. Your server will receive a Postback Notification once the user has finished or cancelled the payment. Please look at chapter 5 for more information regarding the Postback Notification. The basic integration is simple and offers ready-to-use ICEPAY payment screens. However, its disadvantage is that you cannot have full control over the payment screens. Also, your target implementation platform must be a website. Please take a look at Appendix A for a visualization of the flow of the basic integration strategy. 2.2 SEAMLESS INTEGRATION There are times that you want to have full control over your payment screen. How it looks, how it interacts with your user, and preferably as part of your website. For that purpose, we offer the seamless integration strategy. The idea is that your implementation platform provides the ICEPAY web service the required parameters. We will then return you the results back in XML. Inside the XML body, you will find information which you can use to display to the end-user in your own existing website or any other platform. Please take a look at Appendix B for a visualization of the flow of a possible seamless integration. THIS STRATEGY IS CURRENTLY ONLY AVAILABLE FOR SMS AND PHONE PAYMENTS. THERE ARE CURRENTLY NO PLANS TO MAKE OTHER PAYMENT METHODS AVAILABLE FOR THIS TYPE OF INTEGRATION. 2.3 PICK YOUR IMPLEMENTATION STRATEGY Now that you know the different strategies that are available, you should pick the strategy that suits your requirements. 13
14 3 SEAMLESS INTEGRATION IN DETAILS This chapter will provide more details regarding seamless integration for phone and SMS payments. 3.1 PHONE PAYMENTS If you want to implement phone payments using the seamless integration approach, then it is imperative that you understand how phone payments work. The ICEPAY web service supports two types of phone payment methods: Pay Per Call and Pay Per Minute. Pay Per Call is suitable for payments in which you want to charge the end-user a fixed amount of money. Pay Per Minute on the other hand, is meant to charge the end-user an unspecified amount of money. This type of phone payment is suitable for online services for which the end-user will be granted access as long as they don t hang up the phone. The end-user flow for both payment methods can be like this: 1. Your website offers a service which can be paid using the phone payment 2. The end-user sees a premium-rate number on your website 3. The end-user dials the premium-rate number 4. The end-user will hear a six digit code 5. The end-user enters the six digit code on your website 6. The six digit code is verified and depending on the result it will go to step 6 or 7 7. The six digit code is invalid, and the end-user needs to repeat step 4 8. The six digit code is correct, and the end-user proceeds to the secured page There are two solutions to achieve the above flow: The first solution involves the use of the PhoneCheckout web method (please see paragraph 4.2) for initializing the payment and getting back data such as the premium-rate number, rate per call, and rate per minute. You must display this information to the end-user. Otherwise, how would the end-user know which premium-rate number to dial? The ValidatePhoneCode web method (please see paragraph 4.4) is needed for verifying the code that the end-user enters. After the six digit code is entered successfully, your system will automatically get a Postback notification. In case of Pay Per Minute, you will also receive them every 30 seconds, indicating that the user is still connected. We advise you to use this information to update your local database. In addition, you could use AJAX requests on your payment page to poll your local database and display some nice progress bar or to find out if the user has already hung up or not. The second solution is involves the use of the PhoneDirectCheckout web method (please see paragraph 4.6) to initialize the payment and simultaneously also validating the code. So, every time the end-user enters the code, you will call this web method. The difference with the first solution is that initialization and code validation is done in one single call. You then might be wondering how the end-user knows to which premium-rate number he/she must dial? Otherwise, how would he/she know the code? There is a supplementary web method called GetPremiumNumbers which returns a list of premium-rate numbers that is assigned to your ICEPAY API key. You can then cache this so that you do not have to query 14
15 ICEPAY upon every transaction. If you do cache tnhis information, then we recommend you to call GetPremiumNumbers at least once every 24 hours to refresh your cache. 3.2 SMS PAYMENTS If you want to implement SMS payments using the seamless integration approach, then it is imperative that you understand how SMS payments work. There are two end-user flows, both which must be supported by your payment screen DEFAULT END-USER FLOW Let us take a look at how the default end-user flow looks like: 1. Your website offers a service that can be paid using a simple SMS. 2. Your website displays a telephone number, called a short code, to which the end-user must send an SMS. The SMS will be a keyword + activation code, e.g. ICE The end-user sends an SMS to the short code. 4. The end-user receives a Thank You SMS from ICEPAY. 5. The end-user sees that the payment is completed END-USER VALIDATION FLOW There are cases in which ICEPAY cannot verify that the SMS payment is completed. In that case, the end-user flow is somewhat different. 1. Your website offers a service that can be paid using a simple SMS. 2. Your website displays a telephone number, called a short code, to which the end-user must send an SMS. The SMS will be a keyword + activation code, e.g. ICE The end-user sends an SMS to the short code. 4. The end-user receives an SMS message from ICEPAY. The SMS message contains a validation code. 5. On the website, the end-user enters the validation code and submits. 6. If the validation code is correct, then the end-user sees that the payment is completed. For a visual diagram of the flow, please take a look at appendix D HOW TO KNOW WHICH FLOW TO APPLY? Both flows have a beginning and end that are the same. If you have not done so already, please check appendix D. Initializing the payment, handling the Postback with the status OK is the same for both flows. The signal for switching to the end-user validation flow is when your system receives a Postback with the status VALIDATE. You should then display a text input where the user can enter the validation code. If the validation code is correct, you will receive a True in the response (please see paragraph for more information). In addition, a Postback with the status OK is sent. 15
16 4 CHECKOUT WEB SERVICE WEB METHODS This chapter covers the various web methods that are available in the Checkout Web Service. Using the web methods you can e.g. initialize transactions or query transaction details. 4.1 PHP Please keep in mind that web methods can raise an exception if the input is incorrect. Therefore, it is recommended that you ALWAYS enclose your calls in a Try... Catch block. When you write a client in PHP for the ICEPAY Web Service using the SOAP extension, responses returned are differently than is described in this document. First of all, responses returned have a slightly different naming convention than what is described in this document. For instance, if you invoke the Checkout web method, the response object is called CheckoutResult instead of CheckoutResponse. Other than this, there are no known naming differences. When a list of objects is returned, which the GetPremiumRateNumbers web method does (please see paragraph 4.8), PHP will format this differently depending on the number of elements. If there is only one element, it will immediately return it as an object. If there are two elements, it will be returned as an array which contains two objects. 4.2 CHECKOUT The Checkout web method allows you to initialize a new payment in the ICEPAY system for ALL the payment methods that you have access to. You will have to include a CheckoutRequest object which contains the information that is necessary for the initialization of the transaction, such as the currency, the amount that you want to charge, payment method you want to use, etc. Calling the Checkout web method will return you the CheckoutResponse object, which contains data such as the Payment Screen URL. It does not contain data that can be used for seamless integration. If that is what you try to accomplish, then please take a look at chapter 4.2 and 4.3 which covers the phone and SMS checkout respectively. Providing the correct parameters Every payment method has its own set of rules that you must follow. For instance, the payment method ideal accepts payments in Euro s only, In order to provide the correct parameters to the CheckoutRequest object, please consult the following document: 16
17 Compatible with Basic integration REQUEST Please keep in mind that when you populate the CheckoutRequest object with payment initialization values, that the combination of values are allowed. For instance, some payment methods do not support certain currencies, or have a strict limit of the amount, etc. For an up-to-date list of possible combinations, please go to: If any member is invalid or if the combination is invalid, then the web service will raise an exception. Member Description Data type MerchantID This is the merchant ID that is part of your API key. You can create the API key in your ICEPAY account. Integer Checksum This is the SHA1 digest of all the members. Timestamp This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z Amount This is the amount (in cents) that will be charged Integer Country This member will be interpreted differently depending on the chosen payment method. For phone and SMS payments, this will be the country in which the payment will take place. For all other payment methods, it is used to validate if the payment method is supported in a certain country. Integer Currency This is the currency Description A description of the payment EndUserIP IP address of the end-user Issuer This is the issuer of the payment method Language Language of the payment screen OrderID PaymentMethod A unique code up to 10 characters. It is recommended to use the primary key field of your local transactions table This is the payment method that will be used for the transaction initialization 17
18 Reference URLCompleted URLError Custom information that you want to include, e.g. primary key of your local transactions table (up to 50 characters) The URL to which the end-user will be redirected If you do not set this member then the URLCompleted that you set in your ICEPAY account will be used The URL to which the end-user will be redirected If you do not set this member then the URLError that you set in your ICEPAY account will be used The checksum member is a SHA1 message digest, which can be calculated by concatenating the values that are specified below. The values need to be separated by the pipe ( ) character. 1. Secret code of your API key 2. MerchantID 3. Timestamp 4. Amount 5. Country 6. Currency 7. Description 8. EndUserIP 9. Issuer 10. Language 11. OrderID 12. PaymentMethod 13. Reference 14. URLCompleted 15. URLError Example secret T01:30:00Z 100 NL EUR Test AMEX NL 1 CREDITCARD MyReference 18
19 4.2.2 RESPONSE Returns the CheckoutResponse object, which contains the following members: Member Description Data type MerchantID This is the merchant ID that is part of your API key. Integer Checksum Timestamp This is the SHA1 digest of all the members. You can use this value to match your own checksum to see if the response is actually from ICEPAY. This will be the current UTC time that has the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z Amount The requested amount in cents Integer Country This is the requested country code Currency This is the requested currency Description This is the specified description EndUserIP This is the provided end user IP Issuer This is the requested issuer Language This is the requested language code OrderID This is your provided Order ID PaymentID This is the generated ICEPAY transaction ID. Tip: if possible please store this in your local database as this ID may come in handy if you contact our support department. Integer PaymentMethod This is the requested Payment Method PaymentScreenURL This is the URL of the payment screen (if available) ProviderTransactionID This is the transaction ID of the issuer (if available) Reference This is the specified reference information TestMode URLCompleted Indicates whether the transaction was initialized in test mode. This is true if your API key is still in test mode. To switch to production mode, please contact your account manager This is the page to which the end-user will be redirected to after a successful transaction Boolean 19
20 URLError This is the page to which the end-user will be redirected to after a failed or cancelled transaction The checksum is a SHA1 message digest which can be calculated by concatenating the values below in the specified order. The values also need to be separated by the pipe ( ) character: 1. Secret code of your API key 2. MerchantID 3. Timestamp 4. Amount 5. Country 6. Currency 7. Description 8. EndUserIP 9. Issuer 10. Language 11. OrderID 12. PaymentID 13. Payment Method 14. PaymentScreenURL 15. ProviderTransactionID 16. Reference 17. TestMode 18. URLCompleted 19. URLError Example secret T01:30:00Z 100 NL EUR Test AMEX NL CREDITCARD MyReference false 20
21 4.3 PHONECHECKOUT The PhoneCheckout web method allows you to create a phone payment in the ICEPAY system. The main difference with the Checkout web method is the response. The response is a PhoneCheckoutResponse object, which contains extra members such as the phone number etc., making seamless integration possible. Compatible with Basic integration, seamless integration REQUEST Requires a CheckoutRequest object. For more information, please take a look at chapter RESPONSE Returns the PhoneCheckoutResponse object, which is an extension of the CheckoutResponse object. In addition to the CheckoutResponse members (see paragraph 4.1.2), it includes the following extra members that are specific to phone payments: Member Description Data type PhoneNumber This is the phone number to which the end-user must dial RatePerCall The rate per call in cents Integer RatePerMinute The rate per minute in cents Integer The checksum for the PhoneCheckoutResponse can be calculated in the same manner as the checksum described in 4.1.2, but the following three members need to be added also: 1. PhoneNumber 2. RatePerCall 3. RatePerMinute Example secret T01:30:00Z 100 NL EUR Test PPM NL PHONE My Reference false SEE ALSO Chapter 4.6 for the PhoneDirectCheckout 21
22 4.4 SMSCHECKOUT The SmsCheckout web method allows you to create an SMS payment in the ICEPAY system. The main difference with the Checkout web method is the response. The response will contain extra members such as the premium-rate number, making seamless integration possible. Compatible with Basic integration, seamless integration REQUEST Requires a CheckoutRequest object. For more information, please take a look at paragraph RESPONSE Returns the SMSCheckoutReponse object, which is an extension of the CheckoutResponse object. In addition to the CheckoutResponse members (see paragraph 4.1.2), it includes the following extra members that are specific to SMS payments: Member Description Data type ActivationCode Keyword PremiumNumber Disclaimer This is the activation code that also needs to be sent to the premium-rate number This is the keyword that needs to be sent to the premiumrate number This is the premium-rate number or short code to which the user must send a MO message to This is the disclaimer text that must be put on your payment screen. Failing to do so will result in your ICEPAY account being suspended. Remarks: although this member is always available, it is not always populated. The checksum for the SMSCheckoutResponse can be calculated in the same manner as the checksum described in 4.1.2, but the following three members need to be added also: 20. ActivationCode 21. Keyword 22. PremiumNumber 23. Disclaimer 22
23 Example secret T01:30:00Z 100 NL EUR Test DEFAULT NL SMS MyReference false 1234 ICE 2211 false 4.5 VAULTCHECKOUT The method is called when is wished to vault a consumer information as credit card or bank account number in order to perform an automatic checkout in the future. That information is stored after the above mentioned payment has been successfully completed. This method MUST be called if a recurring payment in the future is desired. This also requires the creation of a VaultCheckoutRequest object. This means that the very first vault checkout request must indicate that the object must be CREATED! See the usage example in If the object is not created, there is no place to store the consumer ID for future requests. If there s no place to store the consumer ID, then EVERY subsequent vault checkout request will not be successful, and every auto checkout request will return an error REQUEST Requires a VaultCheckoutRequest object PARAMETERS LIST (VAULTCHECKOUTREQUEST) Member Description Data type MerchantID PaymentMethod Is the ID of the merchant provided by ICEPAY when creating a new merchant. It is a description of the payment method which will be used in the payment at the moment vaulting is supported for credit card and ideal integer Amount Ids the amount of the transaction integer Language Currency Country Issuer Is the string corresponding to the iso code of the language ex. Dutch is NL Is the corresponding to the iso code of the currency ex. Euro is EUR Is the string corresponding to the iso code of the country ex. Netherlands is NL Is the issuer connected to the payment method string string string string 23
24 ConsumerID Ex. For credit card can be VISA or MASTERCARD Is the id which is wished to link to the consumer credit card or bank account to perform automatic checkouts. It can be alphanumeric. string Timestamp It is the timestamp referring to the payment string OrderID It is the Unique OrderId of the transaction string Description It is the description which appears along the payment in the ICEPAY s environment. EndUserIP Is the ip address of the customer s machine string URLCompleted Is the url where the user is redirected after successful payment. string URLError Is the url where the user is redirected after erroneous payment. string Reference This field can be empty string Checksum Is the checksum of all the fields used in a regular checkout therefore excluding ConsumerID string RESPONSE Returns the CheckoutResponse object (see paragraph 4.1.2) USAGE Create an object type VaultCheckoutRequest and feed the fields described above with relevant data. ICEPAYService.VaultCheckoutRequest cr = new VaultCheckoutRequest(); cr.merchantid = MerchantID"; cr.paymentmethod = pmethodid";. Pass to the method VaultCheckout the created object and handle response. CheckoutResponse response = client.vaultcheckout(cr); handleresponse(response) The response can be handled as a standard ICEPAY s response. 24
25 The code below is an example in C# but is not meant to work if copy/pasted: public void VaultCheckout() { ICEPAYClient client = new ICEPAYClient(); ICEPAYService.VaultCheckoutRequest cr = new VaultCheckoutRequest(); cr.merchantid = MerchantID"; cr.paymentmethod = pmethodid"; cr.amount = Amount"; cr.language = Country"; cr.currency = Currency"; cr.country = "Country"; cr.issuer = "Issuer"; cr.consumerid = "ConsumerID"; cr.timestamp = DateTime.Now.ToShortDate(); cr.orderid = this.neworderid().to(); cr.description = description cr.enduserip = "REMOTE_ADDR"; cr.urlcompleted = urlcompleted cr.urlerror = urlerror cr.reference = ""; cr.checksum = this.calculatechecksum(cr); CheckoutResponse response = client.vaultcheckout(cr); handleresponse(response) } 25
26 4.6 AUTOCHECKOUT This method is called when is needed to perform an automatic checkout using the stored consumerid, is available for credit cards and the Ideal system. Again, an AutoCheckout object must first be created before it can be used REQUEST Requires an AutomaticCheckoutRequest object PARAMETERS LIST (AUTOMATICCHECKOUTREQUEST) Member Description Data type MerchantID PaymentMethod Amount Language Currency Country Issuer ConsumerID Timestamp OrderID Description is the Id of the ICEPAY merchant which is performing the automatic checkout Can have two values: ddebit this is required to perform an automatic checkout prior storing a ideal accout number creditcard this is required to perform an automatic checkout prior storing a credit card number. The keywords are not case sensitive. is the amount in cents which is desired to bill. is the language codeof the billing ex for the Netherlands NL is the currency code ex. for euro EUR is the country code ex for the Netherlands NL this depends on the payment method insert before: For creditcard must be CCAUTOCHECKOUT For ddebit must be IDEALINCASSO this is the consumer id which was vaulted previously using the VaultCheckout method. represent a moment in time which the operation was performed. is the order id corresponding to the transaction a compulsory description can be left empty Integer Integer 26
27 EndUserIP URLCompleted Reference Checksum Timestamp is the ip address of the machine from which the action is performed. is the url where the user lands on a successful transaction. can be and additional remark, can be left empty. Is the checksum of all the fields used in a regular checkout therefore excluding ConsumerID, represent a moment in time which the operation was performed. Srting RESPONSE Returns the AutomaticCheckoutResponse object PARAMETERS LIST (AUTOMATICCHECKOUTRESPONSE) Member Description Data type MerchantID Success TimeStamp PaymentID ErrorDescription Checksum is the Id of the ICEPAY merchant which is performing the automatic checkout Indicates whether the operation had been successfully completed Indicates the timestamp of the response. Is the ICEPAY Id of the payment If errors are present indicates the message of the error Is the checksum SHA1 crypted of the above fields Integer Boolean Integer USAGE As for the VaultCheckout create an object AutomaticCheckoutRequest and pass it to the method AutoCheckout. Finally process Response. 27
28 4.7 CHECKOUTEXTENDED The CheckoutExtended web method is almost identical to Checkout with the difference that it includes an extra XML field. This XML field must be populated with information about the order such as customer and product information. This means that if an order contains multiple products, and this is not indicated somehow in the extended checkout request, that a partial refund or calculation of corrections or discounts is not supported. Refunds or Cancellations of partial amounts is therefore not possible. This may also affect calculations of VAT if applicable. **Code Sample string message = string.join(" ",Encryptioncode,MerchantID,Timestamp,Amount,Country,Currency,Description,EndUserIP,Issuer,Language,OrderID, PaymentMethod,Reference,URLCompleted,URLError,XML); Payment methods that require this method: AfterPay REQUEST You need to include the CheckoutExtendedRequest object. It INHERITS ALL THE MEMBERS OF THE CHECKOUTREQUEST OBJECT. In addition it has a member called XML of the data type string. The XML member needs to be populated with a proper XML message. Please consult Appendix E: CheckoutExtended XML for the XSD of the XML message, as well as an example. The following table explains XML nodes and attributes that are not fully self-explanatory from the XSD. XML node Order/Products Order/Products/Product/ProductID Order/Products/Product/UnitPrice Order/Products/Product/VATCategory Description This node contains information about the ordered products. In case of AfterPay, they will appear as lines on the invoice. This is the ID of your product. The amount (in cents) of the product including VAT. A valid VAT category needs to be populated. The VAT rate will be determined automatically. standard = This is the standard (high) tariff, e.g. 21% in The Netherlands, 21% in Belgium, etc. reduced-middle = This is the middle VAT tariff in case of three different tariffs. Not applicable in The Netherlands, 12% in Belgium, etc. reduced-low = This is the lowest VAT tariff, e.g. 6% in The 28
29 Netherlands, 6% in Belgium, etc. zero = 0% VAT exempt = Use this when the product is exempted from VAT, e.g. second hand books (in The Netherlands). Order/Products/Product/Description Order/Addresses/Address/ZipCode A description of the product. AfterPay accepts a maximum of 45 characters. Diacritics, etc. will be filtered by AfterPay automatically. This value will be validated. Make sure the format is correct for the specified country: Belgium: NNNN Germany: NNNNN The Netherlands: NNNNLL Where N is a number, and L is a letter. Order/Addresses/Address[id=billing]/C ountrycode The country code of the consumer receiving the billing. This must be the same as the country code provided in the CheckoutExtendedRequest object RESPONSE Please see VALIDATEPHONECODE The ValidatePhoneCode web method verifies the code that the end-user must provide in order to start a phone payment. For more information on how this web method fits in the big picture, please take a look at chapter 3.1. Test Mode When your API Key is in Test Mode, you will not know the code because you will not be dialing to a premium-rate number. The standard code that you can use for this method while you are in Test Mode is Compatible with Seamless integration 29
30 4.8.1 REQUEST You need to include the ValidatePhoneCodeRequest object, which consists of the following members: Member Description Data type MerchantID This is the merchant ID that is part of your API key. You can create the API key in your ICEPAY account. Integer Checksum This is the SHA1 digest of all the members. Timestamp This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z PaymentID PhoneCode This is the ICEPAY transaction ID that you will get once you have successfully initialized a transaction using PhoneCheckout. This is the phone code that the user enters in order to start the phone payment Integer The checksum member is a SHA1 message digest, which can be calculated by concatenating the values that are specified below. The values need to be separated by the pipe ( ) character. 1. Secret code of your API key 2. MerchantID 3. Timestamp 4. PaymentID 5. PhoneCode Example secret T01:30:00Z
31 4.8.2 RESPONSE Returns the ValidatePhoneCodeResponse object, which contains the following members: Member Description Data type MerchantID This is the merchant ID that is part of your API key. You can create the API key in your ICEPAY account. Integer Checksum This is the SHA1 digest of all the members. Timestamp This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z PaymentID This is the transaction that needed validation Integer Success Indicates whether the code is valid or not Boolean The checksum member is a SHA1 message digest, which can be calculated by concatenating the values below. The values need to be separated by the pipe ( ) character. 1. Secret code of your API key 2. MerchantID 3. Timestamp 4. PaymentID 5. Success Example secret T01:30:00Z true 31
32 4.9 VALIDATESMSCODE The ValidateSmsCode web method validates the code that the end-user must provide when the SMS payment is following the flow as described in paragraph 3.2.2, rather than the default flow as described in paragraph When your API Key is in Test Mode, you will not receive an SMS with code. The standard code that you can use for this method while you are in Test Mode is test123. Compatible with Seamless integration REQUEST You need to include the ValidateSmsCodeRequest object, which consists of the following members: Member Description Data type MerchantID This is the merchant ID that is part of your API key. You can create the API key in your ICEPAY account. Integer Checksum This is the SHA1 digest of all the members. Timestamp This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z PaymentID SmsCode This is the ICEPAY transaction ID that you will get once you have successfully initialized a transaction using SmsCheckout. This is the SMS code that the user enters in order to validate the SMS code. Integer RESPONSE Returns the ValidateSmsCodeResponse object, which contains the following members: Member Description Data type MerchantID This is the merchant ID that is part of your API key. You can create the API key in your ICEPAY account. Integer Checksum This is the SHA1 digest of all the members. 32
33 Timestamp This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z PaymentID This is the transaction that needed validation Integer Success Indicates whether the code is valid or not Boolean The checksum member is a SHA1 message digest, which can be calculated by concatenating the values below. The values need to be separated by the pipe ( ) character. 6. Secret code of your API key 7. MerchantID 8. Timestamp 9. PaymentID 10. Success Example secret T01:30:00Z true 33
34 4.10 PHONEDIRECTCHECKOUT The PhoneDirectCheckout web method is similar to the web method described in chapter 4.2. The difference is that using this web method, you will be able to provide an extra parameter REQUEST Requires a CheckoutWithPINRequest object. This object inherits every member from the CheckoutRequest object (please see paragraph 4.2.1). The only extra member is the following: Member Description Data type PINCode This is the code that the end-user hears when they are on the phone. The checksum for the request object is calculated according to the formula described in chapter The PINCode value needs to be concatenated to the string before passing it to the SHA1 function to calculate the checksum RESPONSE Returns the PhoneDirectCheckoutResponse object. The object inherits every member from the PhoneCheckoutResponse object (please see paragraph 4.3.2). The extra members are the following: Member Description Data type Success Indicates whether the provided PIN code is correct or not. Boolean ErrorDescription A description of why the PIN code is incorrect. The checksum for the PhoneCheckoutResponse can be calculated in the same manner as the checksum described in 4.3.2, but the following two members need to be added also: 1. Success 2. ErrorDescription 34
35 4.11 GETPREMIUMRATENUMBERS The GetPremiumRateNumbers web method is supplementary to the PhoneDirectCheckout web method. The idea is that you query the latest premium-rate number information (such as rate per minute, etc.) and cache it on your own system so that you can display the premium-rate number information to the enduser without having to start a new transaction REQUEST You need to include the BaseType object, which consists of the following members: Member Description Data type MerchantID This is the merchant ID that is part of your API key. Integer Checksum Timestamp This is the SHA1 digest of all the members. You can use this value to match your own checksum to see if the response is actually from ICEPAY. This will be the current UTC time that has the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z RESPONSE Returns the GetPremiumRateNumbersResponse object, which contains the following members: Member Description Data type MerchantID Checksum Timestamp PremiumRateNumbers This is the merchant ID that is part of your API key. You can create the API key in your ICEPAY account. This is the SHA1 digest which is calculated according to the formula in This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z This is an object which contains a list of objects of the PremiumRateNumberInformation class (please see paragraph ) Integer List of objects 35
36 CHECKSUM The checksum member is a SHA1 message digest, which can be calculated by concatenating the values below. The values need to be separated by the pipe ( ) character. 1. API key secret code 2. MerchantID 3. Timestamp 4. PremiumRateNumber 5. RatePerCall 6. RatePerMinute If you get back more than 1 premium-rate number, then you will have to concatenate this to the string. Example with one premium-rate number: secret T01:30:00Z Example with two premium-rate number secret T01:30:00Z PREMIUMRATENUMBERINFORMATION CLASS An object of the PremiumRateNumberInformation class contains the following members: Member Description Data type Country The country of the premium-rate number Currency The currency used by the premium-rate number Issuer The issuer type. This can be one of the following values: PPM = Pay Per Minute PPC = Pay Per Call PhoneNumber The number that the end-user can dial RatePerMinute The cost charged to the end-user per minute (in cents) Integer RatePerCall The cost charged to the end-user per call (in cents) Integer 36
37 4.12 GETPAYMENT Calling the GetPayment web method will return more information about a payment. Most of the information that is returned is already being sent back via the regular Postback notification (please see chapter 5). You can use this web method to requery the information in case you have lost it REQUEST You need to include the GetPaymentRequest object, which consists of the following members: Member Description Data type MerchantID This is the merchant ID that is part of your API key. You can create the API key in your ICEPAY account. Integer Checksum This is the SHA1 digest of all the members. Timestamp This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z PaymentID This is the ICEPAY PaymentID. You will receive this when you initialize a payment or in your Postback. Integer The checksum member is a SHA1 message digest, which can be calculated by concatenating the values that are specified below. The values need to be separated by the pipe ( ) character. 1. Secret 2. MerchantID 3. Timestamp 4. PaymentID Example Secret T01:30:00Z RESPONSE Returns the GetPaymentResponse object, which contains the following members: Member Description Data type MerchantID This is the merchant ID that is part of your API key. You can create the API key in your ICEPAY account. Integer 37
38 Checksum Timestamp This is the SHA1 digest which is calculated according to the formula in This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z PaymentID The ICEPAY PaymentID Integer Amount The requested amount of the payment Integer Currency The requested currency of the payment Integer Description Duration The description specified by the merchant during the initialization The numbers of seconds dialed. Only applicable for phone payments Integer ConsumerName Name of the consumer (if available) ConsumerAccountNumber IBAN of the consumer (if available) ConsumerBIC BIC number of the consumer (if available) ConsumerAddress Address of the consumer (if available) ConsumerHouseNumber House number of the address of the consumer (if available) ConsumerCity City of the consumer (if available) ConsumerCountry Country of the consumer (if available) Consumer address of the consumer (if available) ConsumerPhoneNumber Phone number of the consumer (if available) ConsumerIPAddress IP address of the consumer (if available) Issuer Requested payment method issuer OrderID The OrderID specified by the merchant during the initialization OrderTime The time when the payment got started. In GMT. PaymentMethod The requested payment method PaymentTime Reference The time indicating when the payment got closed/completed (either successful or not successful). In GMT. The reference specified by the merchant during the initialization 38
39 Status StatusCode TestMode The status of the payment (please see for possible statuses) A description giving you more information on the status Indicates whether the payment was created when the API key was still in test mode. Boolean The checksum member is a SHA1 message digest, which can be calculated by concatenating the values below. The values need to be separated by the pipe ( ) character. 1. Secret code of your API key 2. MerchantID 3. Timestamp 4. PaymentID 5. Amount 6. ConsumerAccountNumber 7. ConsumerAddress 8. ConsumerCity 9. ConsumerCountry 10. Consumer 11. ConsumerHouseNumber 12. ConsumerIPAddress 13. ConsumerName 14. ConsumerPhoneNumber 15. Currency 16. Description 17. Duration 18. Issuer 19. OrderID 20. OrderTime 21. PaymentMethod 22. PaymentTime 23. Reference 24. Status 25. StatusCode 26. TestMode Example secret T17:51:53.760Z EUR Test T11:24:51.963Z CREDITCARD T17:13:22.270Z ERR false 39
40 5 POSTBACK NOTIFICATION While the consumer is doing his payment, ICEPAY will report all status changes back to the Merchant with a server-to-server POST to the URL. You can set this URL in your ICEPAY account at Note: The script in URLPostback should not generate any output or errors. It is very important that this script works well, otherwise payments will be aborted! We would advise you to always return HTTP 200 (The default OK response of a web server. An empty page does exactly that.), if you have processed the request to prevent our server to repeat the request. Only return HTTP error if you have (good) reason for it (like db connection error or update error). Note: Our postback uses the UTF-8 character encoding format. Parameter Description Data type Sample Can be empty Status StatusCode Payment status as OK, OPEN, ERR, REFUND, CBACK A short description of the status. We will use the codes as received from the payment method provider (10) OPEN N (100) Completed N Merchant Your MerchantID Numeric N OrderID PaymentID Reference TransactionID ConsumerName ConsumerAccountNumber The OrderID member that was provided in the request object A unique numeric value that identifies this payment in our system The Reference member that was provided in the request object This value is created by the payment method provider / bank and showed on the user s bank statement Name of the bank account owner Last 4 digits of accountnumber from which the payment was done, if received from the bank (10) N Numeric N (50) Z Y (50) (100) (100) Y Y Y 40
41 ConsumerAddress ConsumerHouseNumber ConsumerCity ConsumerCountry Consumer ConsumerPhoneNumber ConsumerIPAddress Amount Currency Duration PaymentMethod Checksum Consumer address/street as filled in payment form Consumer house number as filled in payment form Consumer city as filled in payment form Consumer country as filled in payment form Consumer value as filled in payment form Phone number from which payment was made or used in payment form (if available). In international format as: If CID is hidden you will get {PRIVE} IP address from which the payment form was filled in The final paid amount value in whole cents The currency in which the amount is represented The number of seconds dialed. Only available for phone payment methods The payment method which was used The checksum that is generated over the return parameters, so that you can verify the authenticity of the returned values (100) Y (10) Y (100) Y (100) Y (200) Y (50) Y (50) Y Numeric 550 Y (3) EUR Y Numeric 0 Y (20) CREDITCARD N (40) N 41
42 5.1 HANDLING THE POSTBACK NOTIFICATION This section provides you with guidelines on how your Postback Script should handle incoming Postback Notifications. Paragraph 5.2 describes how you can test your Postback script POSSIBLE STATUSES The Postback Notification contains a parameter called Status. You will most likely want to use this parameter to update the status of your payment in your local database. If you do NOT choose to update the status of your submitted transactions in your own database, this will negatively affect your support options in the instance of refunds, chargebacks or open/not yet validated transaction requests. This must be configured in your account PER WEBSITE at icepay.com. These settings can be found by clicking on the Advanced button. The Status that is returned by ICEPAY can only be one of the following codes: Status OPEN Description The payment is not yet completed. After some time you will receive a Postback Notification which contains the OK or ERR status. The time varies depending on the payment method that was used. OK ERR REFUND CBACK VALIDATE The payment has been completed. The payment was not completed successfully or expired. It cannot change into anything else. A payment has been successfully refunded. The consumer has filed a chargeback via their issuing bank. You will receive a different PaymentID parameter but all the other parameters remain the same. The payment is awaiting validation by the consumer by means of a validation code returned by ICEPAY. Currently, this status is only used by SMS payments. You can safely ignore postbacks with this status if you have integrated ICEPAY using the Checkout.aspx method. You should ignore all other statuses. If a new status is introduced, you will be notified by your account manager. 42
43 5.1.2 DETAILED STATUS DESCRIPTION The Postback Notification also contains a parameter called StatusCode. This is an additional parameter which gives you a more detailed description regarding the status of a payment. Your Postback Script should NOT rely on the content of this parameter to decide what to do as it may change from time to time. It is purely informational. Instead, you should always use the status parameter as described in paragraph Examples of StatusCode content: - Acquirer Error - Completed with user hangup - Money received. Bank statement ID: Payment aborted by user - Success POSSIBLE STATUS TRANSITIONS If your Postback Script synchronizes the information from Postback Notifications with your local data storage, then you must only do that according to figure 1. Possible payment status transitions REFUND OPEN VALIDATE OK CBACK ERR Figure 1. Possible payment status transitions If your transaction is already flagged as OK, it will NEVER transition into ERR. Should you do get an incoming Postback Notification, then you must simply ignore it CHECKING THE CHECKSUM You should always generate a checksum using the information that you get and compare this with the checksum that you received. If it does not match, then you should always ignore the incoming Postback Notification. 43
44 5.1.5 LOGGING You should log ALL incoming Postback Notifications. Support tickets regarding bugs or the status of transactions cannot be handled without this information from the backend of the website. 5.2 TESTING YOUR POSTBACK SCRIPT You can easily test your Postback script when you log into your ICEPAY account. Please navigate to the Tools page where you will see a list of test transactions (please see figure 1). These test transactions are created using any version of the Checkout web methods while your Merchant API key is still in Test Mode. Click on a test transaction to change the status. A Postback notification will be sent to your Postback script. You cannot use the tool for live transactions! Figure 1 44
45 5.2.1 SMS PAYMENTS You cannot use this tool to change SMS payments from VALIDATE to OK. You can change it from VALIDATE to OK only if you invoke the method ValidateSmsCode (please see paragraph 4.6). The reason for this is that in Production Mode, the transition from VALIDATE to OK will only happen when your application invokes the ValidateSmsCode method with the correct code which means that the enduser has provided your application with the correct code. 6 REPORTING WEB SERVICE This chapter explains the Reporting Web Service. This web service consists of a set of web methods which allows you to develop applications that can query reporting data from your ICEPAY account. Say bye-bye to your screen scraping applications. 6.1 ALLOW REPORTING ACCESS In order for your application to access the ICEPAY account information, the option Allow Reporting Access must be enabled PER WEBSITE in the ICEPAY account. This is only possible for merchant IDs that are NOT in test mode. A separate Reporting Pin Code consisting of 8-digits will then be created. The Reporting Pin Code is needed to sign all the Reporting Web Service web method requests. 6.2 HOW DOES IT WORK? Of course, you might be wondering how your application should communicate with this web service. Well, first you will need to invoke the CreateSession web method. If you have successfully created a session, you will receive a SessionID. The SessionID is required for all the other web methods that your application might use. The SessionID is valid for one hour only. If it is expired, your application should automatically create a new session. Please check the following visualization of the procedure: 45
46 Returns the SessionID if successful Application Has SessionID? No CreateSession Yes Web method, e.g. MonthlyTurnoverTotals Yes Invalid SessionID? No Return results 46
47 6.3 CREATESESSION The CreateSession method is very important. You will need to create a new session before you are able to use the other methods. If you fail to create a session for 5 times, your ICEPAY account will be blocked. If you fail for 20 times, your IP will be banned and you will not be able to use this web service, or log into the ICEPAY website using the regular credentials at all. If you get the exception ERR_1000: Session already created for user then it means that you have already started a session. You must always reuse the SessionID that you have created earlier using this method. When calling other web methods which rely on the SessionID as an input parameter, ICEPAY will check the SessionID-IP-UserAgent combination to see if your application has access to the session INPUT The following parameters are expected for the CreateSession method: Parameter Description Data type Timestamp This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z Username This is your ICEPAY username UserAgent Checksum This is a unique string that identifies your application. We strongly recommend you to include the name of your application, version, as well as a unique string from the machine that is running the application. The minimum character length is 15. The maximum is 50. This is the SHA1 message digest to verify the authenticity of the request. (15..50) The checksum is calculated by creating a SHA1 message digest using an input message with the following syntax: Timestamp Username ReportingPinCode UserAgent Example T01:30:00Z icepay ICEPAY Mobile App
48 6.3.2 RESPONSE You will get a CreateSessionResponse object as the response, which consists of the following members: Member Description Data type Timestamp This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z Success Indicates whether the session was created or not Boolean Description SessionID Checksum A short description which tells you why it failed. Your script should never rely on this description as it might change. The session ID which you must use for all the other session ID. This is the SHA1 message digest to verify the authenticity of the response. The checksum is calculated by creating a SHA1 message digest using an input message with the following syntax: Timestamp SessionID ReportingPinCode Success Description Example T01:30:00Z ABCDEFGHIJKLMNOPQRSTUVWXYZ true LoginSuccess 48
49 6.4 KILLSESSION The KillSession web method destroys your session. It is recommended that you invoke this method once your script or application has finished processing and does not need the session anymore INPUT The following parameters are expected for the KillSession method: Parameter Description Data type Timestamp SessionID UserAgent Checksum This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z This is the session ID created by the CreateSession method This is a unique string that identifies your application. We strongly recommend you to include the name of your application, version, as well as a unique string from the machine that is running the application. The minimum character length is 15. The maximum is 50. This is the SHA1 message digest to verify the authenticity of the request. (15..50) The checksum is calculated by creating a SHA1 message digest using an input message with the following syntax: Timestamp SessionID ReportingPinCode UserAgent Example T01:30:00Z ABCDEFGHIJKLMNOPQRSTUVWXYZ My Reporting App
50 6.4.2 RESPONSE You will get a KillSessionResponse object as the response, which consists of the following members: Member Description Data type Timestamp This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z SessionID The session ID which you must use for all the other session ID. Success Indicates whether the session was destroyed or not. Boolean Checksum This is the SHA1 message digest to verify the authenticity of the response. The checksum is calculated by creating a SHA1 message digest using an input message with the following syntax: Timestamp SessionID ReportingPinCode UserAgent Success Example T01:30:00Z ABCDEFGHIJKLMNOPQRSTUVWXYZ My Reporting App 1.0 true 50
51 6.5 MONTHLYTURNOVERTOTALS The MonthlyTurnoverTotals web method returns the sum of the turnover of all the transactions according to the provided criteria: month, year and currency. Specifying the currency does not mean that the Web Service will convert the turnover to that currency. You are actually saying that you want to aggregate transactions that were done in that currency INPUT The following input parameters are required for this method: Parameter Description Data type SessionID UserAgent This is the session ID created by the CreateSession method The same user agent that you provided the CreateSession method with MerchantID The MerchantID for which you want to see the totals Integer CurrencyCode Specifies what transactions should be included in the results Year The year that you want to query Integer Month The month that you want to query Integer Checksum This is the SHA1 message digest to verify the authenticity of the request. The checksum is calculated by creating a SHA1 message digest using an input message with the following syntax: Timestamp SessionID ReportingPinCode UserAgent MerchantID CurrencyCode Year Month Example T01:30:00Z ABCDEFGHIJKLMNOPQRSTUVWXYZ My Reporting App EUR
52 6.5.2 RESPONSE You will get a MonthlyTurnoverTotals object as the response, which consists of the following members: Parameter Description Data type Timestamp This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z SessionID The SessionID that initiated the request CurrencyCode Specifies in what currency the results are. Year Specifies the year of the results Integer Month Specifies the month of the results Integer Days A list of DayStatistics objects DayStatistics[] Checksum This is the SHA1 message digest to verify the authenticity of the response. The checksum is calculated by creating a SHA1 message digest using an input message with the following syntax: Timestamp SessionID ReportingPinCode UserAgent CurrencyCode Year Month(Days) Where the component Days consists of a series of input messages with the following syntax: Year Month Day Duration TransactionsCount Turnover Example T01:30:00Z ABCDEFGHIJKLMNOPQRSTUVWXYZ My Reporting App 1.0 EUR The web service will never give you back the results of 3 days like in the above example. It will always give you back the exact number of days of that particular month. So for the month May you will get back 31 days. The reason we left it out in the above example is because otherwise the example would become too large. 52
53 6.6 GETMERCHANTS This method allows you to retrieve a list of merchants that belong to your ICEPAY account REQUEST PARAMETERS The following input parameters are required for this method: Parameter Description Data type Timestamp SessionID UserAgent Checksum This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z This is the session ID created by the CreateSession method The same user agent that you provided the CreateSession method with This is the SHA1 message digest to verify the authenticity of the request. The checksum is calculated by creating a SHA1 message digest using an input message with the following syntax: Timestamp SessionID ReportingPinCode UserAgent Example T01:30:00Z ABCDEFGHIJKLMNOPQRSTUVWXYZ My Reporting App
54 6.6.2 RESPONSE You will get a GetMerchantsResponse object as the response, which consists of the following members: Parameter Description Data type Timestamp This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z SessionID The SessionID that initiated the request Merchants Checksum A list of Merchant objects. Please see 0 for the structure of a single Merchant object. This is the SHA1 message digest to verify the authenticity of the response. Merchant[] The checksum is calculated by creating a SHA1 message digest using an input message with the following syntax: Timestamp SessionID ReportingPinCode UserAgent(Merchants) Where the component Merchants consists of a series of input messages with the following syntax: MerchantID Description TestMode Example T01:30:00Z ABCDEFGHIJKLMNOPQRSTUVWXYZ My Reporting App My test website true My production website false MERCHANT This object contains information about a merchant. Parameter Description Data type MerchantID The merchant ID Integer Description Name of the merchant (as entered by the merchant in the ICEPAY back end) TestMode Indicates whether the merchant record is in Test Mode. Boolean 54
55 It is recommended that you cache your results 6.7 GETPAYMENTMETHODS Use the GetPaymentMethods web method to retrieve a list of all supported payment methods by ICEPAY. Since this list will DEFINITELY not be updated on a daily basis, we recommend that your application caches the response that you get from this method for as long as possible in order to avoid unnecessary communication with the web service INPUT The following input parameters are required for this method: Parameter Description Data type Timestamp SessionID UserAgent Checksum This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z This is the session ID created by the CreateSession method The same user agent that you provided the CreateSession method with This is the SHA1 message digest to verify the authenticity of the request. The checksum is calculated by creating a SHA1 message digest using an input message with the following syntax: Timestamp SessionID ReportingPinCode UserAgent Example T01:30:00Z ABCDEFGHIJKLMNOPQRSTUVWXYZ My Reporting App
56 RESPONSE You will get a GetPaymentMethodsResponse object as the response, which consists of the following members: Parameter Description Data type Timestamp This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z SessionID The SessionID that initiated the request PaymentMethods Checksum A list of PaymentMethod objects. Please see 0 for the structure of a single PaymentMethod object. This is the SHA1 message digest to verify the authenticity of the response. PaymentMethod[] The checksum is calculated by creating a SHA1 message digest using an input message with the following syntax: Timestamp SessionID ReportingPinCode UserAgent(PaymentMethods) Where the component PaymentMethods consists of a series of input messages with the following syntax: Description PaymentMethodCode Example T01:30:00Z ABCDEFGHIJKLMNOPQRSTUVWXYZ My Reporting App 1.0 ideal IDEAL Credit card CREDITCARD Wire transfer WIRE PAYMENTMETHOD OBJECT This object contains information about a payment method. Parameter Description Data type Description A description of the payment method PaymentMethodCode This is the payment method code of a payment method 56
57 6.8 SEARCHPAYMENTS Use the SearchPayments web method to search for payments linked to your ICEPAY account. There are several filters which you can employ for a more detailed search. ICEPAY will return a maximum of 25 records for each search request. You can use the parameter Page to browse through the results INPUT The required input parameters are displayed below. If you do not want to include the optional parameters, then please set the parameter to the value NULL (or the equivalent of this value in your programming language). Please do not use an empty value as the optional value. Parameter Description Data type Timestamp This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z SessionID UserAgent This is the session ID created by the CreateSession method The same user agent that you provided the CreateSession method with MerchantID Filter on the MerchantID Integer (optional) PaymentID Filter on the PaymentID Integer (optional) Status Filter on the status of payments, e.g. OK, OPEN, ERR. (optional) OrderTime1 * OrderTime2 * PaymentTime1 * PaymentTime2 * Filter on the creation time of the payment. This parameter will be used for the start range of the filter. Filter on the creation date of the payment. This parameter will be used for the end range of the filter. Filter on the time when the payment was completed. This parameter will be used for the start range of the filter. Filter on the time when the payment was completed. This parameter will be used for the end range of the filter. (optional) (optional) (optional) (optional) 57
58 Please check the following page for the remaining parameters: Parameter Description Data type CountryCode The requested country code (optional) CurrencyCode The requested currency code (optional) Amount The amount in cents Integer (optional) PaymentMethod Filter on the payment method, e.g. IDEAL, PHONE, WIRE (optional) ConsumerAccountNumber Search for account number (optional) ConsumerName Search for consumer name (optional) ConsumerAddress Search for the address (optional) ConsumerHouseNumber Search for the house number (optional) ConsumerPostCode Search for the postal code (optional) ConsumerCity Search for the city (optional) ConsumerCountry Search for the country (optional) Consumer Search for the (optional) ConsumerPhoneNumber Search for the phone number (optional) ConsumerIPAddress Search for the IP address (optional) Page The page index of the results Integer Checksum This is the SHA1 message digest to verify the authenticity of the request. * The date time will be using the time zone settings of the user account. The checksum is calculated by creating a SHA1 message digest using an input message with the following syntax: 58
59 Timestamp SessionID ReportingPinCode UserAgent MerchantID PaymentID OrderID Reference Descripti on Status OrderTime1 OrderTime2 PaymentTime1 PaymentTime2 CountryCode CurrencyCode Amount PaymentMethod ConsumerAccountNumber ConsumerName Consu meraddress ConsumerHouseNumber ConsumerPostCode ConsumerCity ConsumerCountry ConsumerE mail ConsumerPhoneNumber ConsumerIPAddress Page Example T01:30:00Z ABCDEFGHIJKLMNOPQRSTUVWXYZ My Reporting App OPEN 30 IDEAL RESPONSE You will get a SearchPaymentsResponse object as the response, which consists of the following members: Member Description Data type Timestamp This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z SessionID The SessionID that initiated the request Payments A list of Payment objects Payment[] Checksum This is the SHA1 message digest to verify the authenticity of the response. The checksum is calculated by creating a SHA1 message digest using an input message with the following syntax: Timestamp SessionID ReportingPinCode UserAgent(Payments) Where the component Payments consists of a series of input messages with the following syntax: Amount ConsumerAccountNumber ConsumerAddress ConsumerHouseNumber ConsumerName Consu merpostcode CountryCode CurrencyCode Duration MerchantID OrderTime PaymentID PaymentMethod PaymentTime Status StatusCode TestMode 59
60 Example T01:30:00Z ABCDEFGHIJKLMNOPQRSTUVWXYZ My Reporting App John Doe NL EUR T01:30:00Z IDEAL T01:30:00Z OK Success false 7 AFTERPAY CAPTURE SERVICE Afterpay payments can be collected by using the capture service. There are limitations in the amount of time between initial payment request and the actual collection of funds from the given account. Talk to your AfterPay representative for details about this. To perform a capture it is therefore necessary to call the method CaptureFull using the following parameters: Member Description Data type MerchantID Is the merchantid provided by ICEPAY Integer Checksum Timestamp Is the SHA1 checksum generated using MerchantID,SecretCode,Timestamp,PaymentID in the same order. Is the timestamp at which is desired to make the capture appear. PaymentID Is the paymentid of an Afterpay payment. The method returns an object type RequestAPCaptureResponse which contains the following information: Member Description Data type MerchantID Is the merchantid provided by ICEPAY Integer Checksum the SHA1 checksum is generated using SecretCode, MerchantID,Timestamp, Amount, Currency, PaymentID in this order.default values for Amount is 0 while Currency default value is an empty string. Timestamp Is the timestamp of the response time. PaymentID Is the PaymentID of the captured payment. 60
61 7.1.1 CODE EXAMPLES C#: APCaptureClient capture = new APCaptureClient(); string message = string.join(" ",SecretCode,MerchantID,Timestamp, Amount,Currency, PaymentID); string Checksum = CalculateChecksum(message); try { RequestAPCaptureResponse icepayresponse = capture.capturefull(merchantid,checksum, Timestamp, PaymentID); //Process the response } catch (Exception ex) { HandleException(ex); } Note: The code is just an example it will not work if copy/pasted. **When making the checksum if is desired to do not include the amount and the currency of the payment use an empty string and a zero. 8 REFUND WEB SERVICE This chapter covers the Refund Web Service, which allows you to perform various web methods related to payment refunding. In order to use the Refund Web Service, you will need to explicitly grant your website access to this web service. You can do this by logging into your ICEPAY account. Before you actually start implementing the Refund Web Service, there are certain things that you should know. 8.1 REFUNDING QUEUE When you initiate a refund request, it will be put in the refunding queue. This queue will be processed once per day at 8am UTC+0. Once processed, it does not mean that the consumer will receive its money immediately. It only means that we have instructed the bank or payment method provider to perform the refund. It may take up to a few workdays before it is actually processed. 8.2 NOTIFICATION You will be notified of successful refunds via either or the ICEPAY postback system. The type of feedback depends on the settings you set for your merchant record. You can configure these settings by logging into your ICEPAY account. If you receive postbacks, there is absolutely no need for you to implement a polling system. 61
62 8.3 SUPPORTED PAYMENT METHODS Not all payment methods support refunding. Refunding is limited to: ideal Credit Card SEPA Direct Debit AfterPay PayPal Giropay SOFORT Bancontact Wire transfer The below payments require IBAN and BIC to be processed: ideal SEPA Direct Debit Giropay SOFORT Bancontact Wire transfer It is possible for ICEPAY to retrieve the IBAN and BIC after a few working days (due to bank processing times). If the refund request is made before ICEPAY retrieves the IBAN and BIC, the refund will be handled as a new transaction request. This transaction will be a wire transfer within the SEPA boundaries. 8.4 TEST AND LIVE TRANSACTIONS Currently, all refund web methods accept live transactions ONLY. This means that when writing your client application, you may only test refund capabilities with live transactions. So please do not forget to cancel the refund requests once you are done with it. We recommend you to do this not around 8am UTC+0 because our refunding queue will be processed at that time. 8.5 REQUESTREFUND The RequestRefund web method allows you to initiate a refund request for a payment. Refunds for payment methods that are executed by ICEPAY, like Direct Debit, may only be initiated for payments that have successfully been collected from the shopper. Refund requests made before successful collection might result in a deduction from outpayments. 62
63 Input The required input parameters are displayed below. Parameter Description Data type MerchantID This is the merchant ID that is part of your API key. You can create the API key in your ICEPAY account. Integer Checksum This is the SHA1 digest of all the members. Timestamp This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z PaymentID The ID of the payment. Integer RefundAmount The amount to be refunded (in cents) Integer RefundCurrency The currency of the refund. Remarks: This currency must match the currency of the payment. The checksum is calculated by creating a SHA1 message digest using an input message with the following syntax: Secret MerchantID Timestamp PaymentID RefundAmount RefundCurrency Example secret T01:30:00Z EUR RESPONSE You will get a RequestRefundResponse object as the response, which consists of the following members: Member Description Data type MerchantID Checksum This is the merchant ID that is part of your API key. You can create the API key in your ICEPAY account. This is the SHA1 message digest to verify the authenticity of the response. Integer 63
64 Timestamp This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z RefundID This is the ID of the requested refund. If possible, it is recommended to store this value in your system as you may decide (at a later stage), to cancel the refund request. Integer PaymentID This is the payment for which you requested a refund. Integer RefundAmount The requested refund amount specified in the request Integer RemainingRefundAmount The remaining amount that you can still request a refund for. Integer RefundCurrency The requested refund currency specified in the request The checksum is calculated by creating a SHA1 message digest using an input message with the following syntax: Secret MerchantID Timestamp RefundID PaymentID RefundAmount RemainingRefundAmount RefundCu rrency Example secret T01:30:00Z EUR 8.6 CANCELREFUND The CancelRefund web method allows you to cancel a refund request if it has not already been processed INPUT The required input parameters are displayed below. Parameter Description Data type MerchantID This is the merchant ID that is part of your API key. You can create the API key in your ICEPAY account. Integer Checksum This is the SHA1 digest of all the members. 64
65 Timestamp RefundID PaymentID This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z This is the RefundID that is returned by the RequestRefund web method upon a successful invocation. This is the PaymentID of the transaction for which you requested the refund in the first place Integer Integer The checksum is calculated by creating a SHA1 message digest using an input message with the following syntax: Secret MerchantID Timestamp RefundID PaymentID Example secret T01:30:00Z RESPONSE You will get a CancelRefundResponse object as the response, which consists of the following members: Member Description Data type MerchantID Checksum Timestamp Success This is the merchant ID that is part of your API key. You can create the API key in your ICEPAY account. This is the SHA1 message digest to verify the authenticity of the response. This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z This field will contain the value Y if the refund request was cancelled successfully. Integer The checksum is calculated by creating a SHA1 message digest using an input message with the following syntax: 65
66 Secret MerchantID Timestamp Success Example secret T01:30:00Z false 8.7 GETPAYMENTREFUNDS The GetPaymentRefunds web method allows you to query refund request information that belongs to the payment INPUT The required input parameters are displayed below. Parameter Description Data type MerchantID This is the merchant ID that is part of your API key. You can create the API key in your ICEPAY account. Integer Checksum This is the SHA1 digest of all the members. Timestamp This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z PaymentID This is the PaymentID of the transaction for which you requested the refund in the first place Integer The checksum is calculated by creating a SHA1 message digest using an input message with the following syntax: Secret MerchantID Timestamp PaymentID Example secret T01:30:00Z
67 8.7.2 RESPONSE You will get a GetPaymentRefundsResponse object as the response, which consists of the following members: Parameter Description Data type MerchantID This is the merchant ID that is part of your API key. You can create the API key in your ICEPAY account. Integer Checksum This is the SHA1 digest of all the members. Timestamp This is the current UTC time that must have the following format: yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z Refunds A collection of Refund objects. If you have done several partial refunds, then this collection contains several objects. Refund[] The checksum is calculated by creating a SHA1 message digest using an input message with the following syntax: Secret MerchantID Timestamp PaymentID(Refunds) Where the component Refunds consists of a series of input messages with the following syntax: RefundID DateCreated RefundAmount RefundCurrency Status Example secret T01:30:00Z T01:30:00Z 1000 EUR PENDING T01:31:00Z 1200 EUR PROCESSING REFUND OBJECT This object contains information about a payment method. Parameter Description Data type RefundID This is a unique ID that is assigned to your refund request Integer RefundAmount This is the amount of the refund Integer RefundCurrency This is the currency of the refund 67
68 DateCreated Status This value indicates when the refund request was created (in UTC+0): yyyy-mm-ddthh:mm:ssz Example: T01:30:00Z A refund can have one of the following status: PENDING Refund is placed in the queue PROCESSING Refund sent to financial institution for refund COMPLETED Refund processed by financial institution REFUSED Refund cannot be processed 68
69 9 EXCEPTIONS 9.1 ERROR CODES The following error codes are generic error codes: ERR_0000 ERR_0001 ERR_0002 ERR_0003 ERR_0004 ERR_0005 ERR_0006 ERR_0007 ERR_0008 ERR_0009 ERR_0010 ERR_0011 ERR_0012 ERR_0013 Internal server error: XXX An unexpected error occurred. Please contact with the full merchant web shop database log to resolve. Request is missing You did not provide a request object with the web method Please provide a valid 'MerchantID' member You must provide a valid numeric 'MerchantID' member Please provide the 'XXX' member You forgot to include a member in your web method request object. Where XXX is the name of the member that you forgot to include. Please provide the IP address of your end-user You forgot to include the IP address of the end-user. Merchant 'XXXXX' is disabled Your API key is disabled. Please contact your account manager regarding this issue. Merchant 'XXXXX' was not found Unknown merchant ID Checksum for 'XXX' is invalid The provided checksum did not match. Where XXX is the name of the web method for which the checksum failed. Please make sure the hash of the checksum is in lowercase. You can only invoke this method using the 'XXX' payment method This exception means that the web method can only be used in conjunction with the XXX payment method. Payment with ID 'XXX' not found XXX parameter must be at least YY characters The length of the provided parameter must be at least YY characters long. XXX parameter may not exceed YY characters The length of the parameter has exceeded the maximum allowed length YY. XXX is an invalid payment method Invalid date: X The provided date is in an invalid format. Please provide a string in the following format: YYYY-MM-DD or YYYY-MM-DD HH:MM 69
70 ERR_0014 ERR_0015 ERR_0016 Invalid date period Please provide a valid month and year combination. The provided country code XX is invalid Payment does not belong to specified merchant You (accidently) specified a payment ID that does not belong to the specified merchant. 9.2 ERROR CODES The following error codes are specific for the Reporting Web Service: ERR_1000 ERR_1001 ERR_1002 ERR_1003 Session already created for user This means that you have already invoked the CreateSession web method from that IP address. Account does not allow API access The ICEPAY account does not allow API access Invalid SessionID The SessionID that you provided is invalid or expired Invalid username 9.3 ERROR CODES The following error codes are specific for the Refund Web Service: ERR_2000 ERR_2001 ERR_2002 ERR_2003 ERR_2004 ERR_2005 Merchant not granted to use Refund Web Service The merchant is not granted access to use the Refund Web Service. In order to enable the refund web service for your merchant, please log into your ICEPAY account to configure your merchants. Invalid RefundID XXX The RefundID that you provided is invalid. Please check the refund ID. Amount to refund exceeds remaining balance You were trying to initiate a refund request with an amount that is larger than the requested amount Payment method is not supported by the Refund Web Service The payment method used for the provided payment does not support refund possibilities Invalid RefundAmount Please make sure that: - The amount is in cents - The amount is positive Refund currency does not match payment currency 70
71 ERR_2006 ERR_2007 You can only refund payments with the status 'OK' RefundID does not belong to PaymentID 10 APPENDIX A: FLOW OF THE BASIC INTEGRATION APPROACH USING CHECKOUT WEB METHOD 71
72 1. End-user wants to purchase a product End-user 6. Redirect user to payment page 10. Redirect to success/error page Merchant website 9. Postback 2. API method: Checkout CheckoutRequest object 5. CheckoutResponse object 7. Failed/Successful transaction ICEPAY Web Service 8. Payment status 3. Initialize payment 4. Response Payment method provider 72
73 APPENDIX B: Flow of seamless integration using PhoneCheckout web method End-user 7. Enter phone code 13. Page polls every few seconds until payment is completed 12. Return custom phone payment screen with progressbar 1. End-user wants to purchase a product 6. Return custom phone payment screen with code verification 8. ValidatePhone- Code API Merchant website 11. ValidatePhone- CodeResult object 15. Hang up after a while 2. PhoneCheckout API 5. PhoneCheckout- Response object 14. Return Postback state (=OPEN or OK) every few seconds until user hangs up ICEPAY Web Service 9. Checking code 13. Poll payment status every few seconds 10. Code Valid/invalid 3. Initialize payment 4. Response Payment method provider 73
74 11 APPENDIX C: CERTIFICATE You can improve the connection speed/performance between your server and the ICEPAY server by importing our public SSL certificate into your local storage. You can do this by copying the text below and save it into a plain text file with the extension.cer. This public SSL certificate is valid until 2014/04/26 (YYYY/MM/DD) -----BEGIN CERTIFICATE----- MIIEQDCCAyigAwIBAgIQUQkwyYF+fB0ARLEEDBUfbjANBgkqhkiG9w0BAQUFADBe MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMVGhhd3RlLCBJbmMuMR0wGwYDVQQLExRE b21haw4gvmfsawrhdgvkifnttdezmbcga1ueaxmqvghhd3rlierwifnttcbdqtae Fw0xMjA0MjUwMDAwMDBaFw0xNDA0MjUyMzU5NTlaMIG2MRswGQYDVQQKExJjb25u ZWN0LmljZXBheS5jb20xOzA5BgNVBAsTMkdvIHRvIGh0dHBzOi8vd3d3LnRoYXd0 ZS5jb20vcmVwb3NpdG9yeS9pbmRleC5odG1sMSIwIAYDVQQLExlUaGF3dGUgU1NM MTIzIGNlcnRpZmljYXRlMRkwFwYDVQQLExBEb21haW4gVmFsaWRhdGVkMRswGQYD VQQDExJjb25uZWN0LmljZXBheS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggekaoibaqddew3lwwjlqqzyes8+uk7rjmhz+fvtz4tkmz473ucckdywsptmtdzj yq3fli13lfbr3hevcprfmivdai68zptktczisb5wz8ukuhysyetds8vfx8dag3cm d3lczjg8jenhkp1vx0qizth8/iegp6rymfzvtswsi1va37ozli5kynpcdpsq7mys fusfbmiucnaf7/dcbxujiods/i3repw5/jtjakbawyjphp7rbn3nnd6uv5czne3/ yfxgcmkyqwmqu8v2uavsdvm9yr3tvvqysh13k/u9fq7ojejifk4gumdx57+vqtna zm83n8/fa4/jmxaqqiy7yadkwvro9fcvagmbaagjgaawgz0wdaydvr0taqh/baiw ADA6BgNVHR8EMzAxMC+gLaArhilodHRwOi8vc3ZyLWR2LWNybC50aGF3dGUuY29t L1RoYXd0ZURWLmNybDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwMgYI KwYBBQUHAQEEJjAkMCIGCCsGAQUFBzABhhZodHRwOi8vb2NzcC50aGF3dGUuY29t MA0GCSqGSIb3DQEBBQUAA4IBAQCO1rkN1EoV7D1b8d862nACTMqynAHFphzDJ5KX 2LIQipKMmja5RF5J8dITNTjncvyTt1omgkIysjJNktlMYc48fxndYTJSZ+dY0cd7 oc8+ungh2aj2f5uk8qm/ozsbd6bi2jjxkpp2nqkowgb1okeqepmikadsvzvpk1h1 giql9xqr+3c6rrb79rdbjmm6ju/q3etrpltmbprcwh2bqzqoa0+lrukhjrqwuexi YoWKQRmbprzgrmHQWKoTyn5boq+Ud8sbZ1K32oPP5PrKOwaCFGjFAvvbyvaUiCUt Ys/DvITzrleTyzLGnNl7MQRJTWEfuMWMJwmZoAf3+PNys3Xt -----END CERTIFICATE
75 12 APPENDIX D: SMS FLOW (SEAMLESS INTEGRATION) Consumer 1. Request page Merchant website 4. Display short code + instructions on page 2. SmsCheckout 3. SmsCheckoutResult 5. Send SMS to short code ICEPAY Flow 1 Yes 6. SMS validated automatically? No Flow 2 Please take a look at the next page for a more detailed flow on Flow 1 and Flow 2. 75
76 12.1 FLOW 1: DEFAULT END-USER FLOW Consumer Merchant website Send Postback with status OK Send Thank You SMS ICEPAY 12.2 FLOW 2: END-USER VALIDATION FLOW Consumer 2. Display text input Merchant website 4. Submit code 7. Postback OK 6. ValidateSmsCodeResult 1. Postback VALIDATE 5. ValidateSmsCode 3. Send SMS with validation code ICEPAY 76
ICEPAY Magento Basic Module
ICEPAY Magento Basic Module Manual for merchants / developers --- 6/4/2012 Contents Contents... 1 1 Information... 3 1.1 Document revisions... 3 1.2 Overview... 4 1.3 Releases... 4 1.4 Compatibility...
10 Class: Icepay_Result - Handling the error and success page... 20 10.1 Methods... 21 10.2 Example... 22 11 Class: Icepay_Postback - Handling the
API 2 Guide V 1.0.9 Index Index... 1 1 Introduction... 4 1.1 Important changes... 4 1.2 Document revisions... 4 2 Sample Scripts... 5 2.1 Basicmode sample scripts... 5 2.2 Webservice sample scripts...
Cardsave Payment Gateway
Cardsave Payment Gateway Cart Implementation David McCann Cardsave Online Version 1 1 st August 2010 Contents Page Overview 3-4 o Integration Types 3 Direct/Integrated (Preferred Method) Re-direct/Hosted
MasterCard In tern et Gatew ay Service (MIGS)
Master Card Inter national MasterCard In tern et Gatew ay Service (MIGS) MIGS Payment Client Reference Manual Prepared By: Patrick Hayes Department: Principal Consultant, ebusiness Solutions Date Written:
Realex Payments Gateway Extension with 3D Secure for Magento. User Guide to Installation and Configuration. StudioForty9 www.studioforty9.
Realex Payments Gateway Extension with 3D Secure for Magento User Guide to Installation and Configuration StudioForty9 www.studioforty9.com User Guide: Table of Contents 3 How to Install the Realex Module
ipayment Gateway API (IPG API)
ipayment Gateway API (IPG API) Accepting e-commerce payments for merchants Version 3.2 Intercard Finance AD 2007 2015 Table of Contents Version control... 4 Introduction... 5 Security and availability...
MasterCard In tern et Gateway Service (MIGS)
MasterCard Internet Gateway Service Master Card Inter nati onal MasterCard In tern et Gateway Service (MIGS) Virtual Payment Client Integration Guide Prepared By: Patrick Hayes Department: Principal Consultant,
SPARROW Gateway. Developer API. Version 2.00
SPARROW Gateway Developer API Version 2.00 Released May 2015 Table of Contents SPARROW Gateway... 1 Developer API... 1 Overview... 3 Architecture... 3 Merchant Private Key and Payment Types... 3 Integration...
MONETA.Assistant API Reference
MONETA.Assistant API Reference Contents 2 Contents Abstract...3 Chapter 1: MONETA.Assistant Overview...4 Payment Processing Flow...4 Chapter 2: Quick Start... 6 Sandbox Overview... 6 Registering Demo Accounts...
Korean Cyber Payment Services
Title Page Korean Cyber Payment Services Using the Simple Order API April 2015 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information
Klarna Magento module
Klarna Magento module User guide Payment module version: 5.x.+ User guide 1.0 Revision: 1.1 Table of Contents User guide Welcome to Klarna How do you benefit? What is Klarna s offering? Prerequisites Before
Address Phone & Fax Internet
Smilehouse Workspace 1.13 Payment Gateway API Document Info Document type: Technical document Creator: Smilehouse Workspace Development Team Date approved: 31.05.2010 Page 2/34 Table of Content 1. Introduction...
Server and Direct Shared Protocols
Server and Direct Shared Protocols IMPORTANT: Before reading this document, you should have read through the Server or Direct Protocol and Integration Guidelines that accompany it. These explain the terms
Article 2. Offers and quotations
1 Article 1. General 1. These terms and conditions apply to all offers, quotations and agreements between Smets Food Trading B.V., with registered offices in (6131 GR) Sittard, at Odasingel 473, hereinafter
SVEA HOSTED SERVICE SPECIFICATION V1.13
SVEA HOSTED SERVICE SPECIFICATION V1.13 Table of Contents Abstract... 2 Modes of operation... 2 Interactive Mode details... 2 Integration... 2 Input parameters... 3 Output parameters... 8 Error Codes...
int_adyen Version 15.1.0
int_adyen Version 15.1.0 LINK Integration Documentation - int_adyen Page 1 Table of Contents 1. General Information... 5 2. Component Overview... 6 2.1. Functional Overview... 6 Short description of the
Authorize.Net Mobile Application
Authorize.Net Mobile Application ios User Guide October 2015 Authorize.Net Developer Support http://developer.authorize.net Authorize.Net LLC 082007 Ver.2.0 Authorize.Net LLC ( Authorize.Net ) has made
1.0 Getting Started Guide
KOFAX Transformation Modules Invoice Packs 1.0 Getting Started Guide 10300805-000 Rev 1.0 2008 Kofax, Inc., 16245 Laguna Canyon Road, Irvine, California 92618, U.S.A. All rights reserved. Use is subject
Terms & Conditions Verder B.V. (02031806) Filed at the Chamber of Commerce on 29-01-2015
Terms & Conditions Verder B.V. (02031806) Filed at the Chamber of Commerce on 29-01-2015 1. General 1.1 These terms and conditions use the following terms and definitions: Product: items, as well as services
Online signature API. Terms used in this document. The API in brief. Version 0.20, 2015-04-08
Online signature API Version 0.20, 2015-04-08 Terms used in this document Onnistuu.fi, the website https://www.onnistuu.fi/ Client, online page or other system using the API provided by Onnistuu.fi. End
Bugaboo International BV Spare Parts Web Shop Online Terms and Conditions of Sale
Bugaboo International BV Spare Parts Web Shop Online Terms and Conditions of Sale This page (together with the documents referred to on it) outlines the terms and conditions on which we supply any of the
Kofax Export Connector 8.3.0 for Microsoft SharePoint
Kofax Export Connector 8.3.0 for Microsoft SharePoint Administrator's Guide 2013-02-27 2013 Kofax, Inc., 15211 Laguna Canyon Road, Irvine, California 92618, U.S.A. All rights reserved. Use is subject to
2. Claimant: every natural person, as stated by the client, making a claim.
General terms and conditions 2015.1 Article 1: Definitions 1. Claim: claim from a claimant on the basis of Regulation 261/2004, possibly in combination with a claim based on the Convention for the Unification
Authorize.Net Mobile Application
Authorize.Net Mobile Application Android User Guide October 2015 Authorize.Net Developer Support http://developer.authorize.net Authorize.Net LLC 082007 Ver.2.0 Authorize.Net LLC ( Authorize.Net ) has
isend Mail and Shipping Service, Terms and Conditions
isend Mail and Shipping Service, Terms and Conditions Account Requirements When you register for the service, you will create a unique user ID and password that cannot be shared among multiple users. You
PROCESS TRANSACTION API
PROCESS TRANSACTION API Document Version 8.7 May 2015 For further information please contact Digital River customer support at (888) 472-0811 or [email protected]. 1 TABLE OF CONTENTS 2 Lists of tables
PayPal Website Payments Pro and Virtual Terminal Agreement
>> View all legal agreements PayPal Website Payments Pro and Virtual Terminal Agreement Last Update: Oct 22, 2013 Print Download PDF This PayPal Pro / Virtual Terminal Agreement ("Pro/VT Agreement") is
Process Transaction API
Process Transaction API Document Version 5.9 March 2011 For further information please contact Beanstream customer support at (250) 472-2326 or [email protected]. BEAN # Page 2 of 90 Date Overview...
IICLE ONLINE SUBSCRIPTIONS TERMS AND CONDITIONS
IICLE ONLINE SUBSCRIPTIONS TERMS AND CONDITIONS IICLE Online Library, IICLE Online CLE, and IICLE Online All Access subscriptions are accepted and approved with the understanding that the Subscriber has
CyberSource Global Payment Service
Title Page CyberSource Global Payment Service Developer Guide For Bank Transfers, Brazilian Boletos Bancários, and Direct Debits Simple Order API SCMP API March 2015 CyberSource Corporation HQ P.O. Box
Manual for merchants and developers
Manual for merchants and developers ICEPAY OpenCart Online Payment Module v 2.0.8 ICEPAY B.V. 2016-05-04 1. General Information 3 1.1 Summary (links to modules, benefits) 3 1.2 Prerequisites 4 1.3 Compatibility
Credomatic Integration Resources. Browser Redirect API Documentation June 2007
Credomatic Integration Resources Browser Redirect API Documentation June 2007 Table of Contents Methodology... 2 Browser Redirect Method (Browser to Server) FIG. 1... 2 API Authentication Parameters...
General Terms and Conditions for Online Sales of TomTom Inc ( TomTom )
General Terms and Conditions for Online Sales of TomTom Inc ( TomTom ) 1) Scope a) These Terms and Conditions shall apply to all purchase orders submitted or to be submitted by you for any item, service
Cisco TelePresence VCR Converter 1.0(1.8)
Cisco TelePresence VCR Converter 1.0(1.8) Software release notes D14725.02 February 2011 Contents Contents Document revision history... 3 Introduction... 4 New features in version 1.0(1.8)... 5 Convert
TERMS AND CONDITIONS DutchGiraffe Digital Creatives Saturnusstraat 60 - Unit 21 2516 AH Den Haag
TERMS AND CONDITIONS DutchGiraffe Digital Creatives Saturnusstraat 60 - Unit 21 2516 AH Den Haag November 2014 1 CLAUSE 1 - DEFINITIONS 1.1 The following terms, indicated by a capital letter, will have
Adyen Magento extension
Adyen Magento extension User manual Date: Apr 22, 2014 Filename: Adyen Magento Extension V2.0.0.odt Version: 2.0.0 Reference: Adyen Magento Extension V2.0.0 Adyen Magento extension - manual Version control
Merchant Integration Guide
Merchant Integration Guide Card Not Present Transactions Authorize.Net Customer Support [email protected] Authorize.Net LLC 071708 Authorize.Net LLC ( Authorize.Net ) has made efforts to ensure the
Merchant Reporting Tool
Merchant Reporting Tool payment and transaction statistic for web shops Transaction reports through web-interface to paysafecard application Table of Content 1. Introduction 2 2. Log In 2 2.1 Merchant
TERMS OF USE TomTom Websites
TERMS OF USE TomTom Websites 1 Scope These Terms of Use apply to the use of TomTom Websites and contain your rights, obligations and restrictions when using TomTom Websites. By continuing to use this TomTom
pbsmartpostage Mail and Shipping Service, Terms of Use
pbsmartpostage Mail and Shipping Service, Terms of Use Account Requirements When you register for the service, you will create a unique user ID and password. Your subscription is billed based on the nine
DalPay Internet Billing. Checkout Integration Guide Recurring Billing
DalPay Internet Billing Checkout Integration Guide Recurring Billing Version 1.3 Last revision: 01/07/2011 Page 1 of 16 Version 1.3 Last revision: 01/07/2011 Page 2 of 16 REVISION HISTORY 4 INTRODUCTION
Virtual Terminal User s Guide
Virtual Terminal User s Guide For Professional Use Only Currently only available in English. A usage Professional Uniquement Disponible en Anglais uniquement pour l instant. Last updated: August 2009 PayPal
Escrow Agreement INSTRUCTIONS STOCKHOLM CHAMBER OF COMMERCE ESCROW MODEL AGREEMENT 2014
SCC Escrow Account No... (For SCC to fill in) Escrow Agreement INSTRUCTIONS STOCKHOLM CHAMBER OF COMMERCE ESCROW MODEL AGREEMENT 2014 This is a model agreement, which means that the parties should adapt
Hosted Credit Card Forms Implementation Guide
Hosted Credit Card Forms Implementation Guide Merchant implementation instructions to integrate to the Setcom s hosted credit card forms. Covers: fraud screening, Verified by Visa, MasterCard SecureCode
Merchant Integration Guide
Merchant Integration Guide Card Not Present Transactions January 2012 Authorize.Net Developer Support http://developer.authorize.net Authorize.Net LLC 082007 Ver.2.0 Authorize.Net LLC ( Authorize.Net )
WELLMAN COOPERATIVE TELEPHONE ASSOCIATION TERMS OF SERVICE LOCAL EXCHANGE SERVICE
WELLMAN COOPERATIVE TELEPHONE ASSOCIATION TERMS OF SERVICE LOCAL EXCHANGE SERVICE About These Terms and Conditions: Wellman Cooperative Telephone Association (the "Company") provides regulated local exchange
This service agreement (hereinafter referred to as the Agreement ) is between
SEATTLECLOUDS WHITE LABEL SERVICE AGREEMENT This service agreement (hereinafter referred to as the Agreement ) is between Mobiblocks, LLC. (hereinafter referred to as Mobiblocks ), a Washington Corporation,
JOHN DEERE DIFFERENTIAL CORRECTION SOFTWARE LICENSE AGREEMENT
JOHN DEERE DIFFERENTIAL CORRECTION SOFTWARE LICENSE AGREEMENT IMPORTANT -- READ CAREFULLY. THIS IS A LEGAL CONTRACT BETWEEN YOU AND JOHN DEERE SHARED SERVICES, INC., A CORPORATION HAVING A PRINCIPAL ADDRESS
General Procurement Terms and Conditions of SMEPRO INTERNATIONAL B.V.
General Procurement Terms and Conditions of SMEPRO INTERNATIONAL B.V. Article 1 - Definitions In these General Procurement Terms and Conditions, the terms below have the following meaning: SMEPRO : The
MPI Frequently Asked Questions
MPI Frequently Asked Questions 1 Table of contents 1. General... 4 1.1. I want to use the Europabank MPI to handle the payments for my webshop.... 4 Where do I start?... 4 1.2. Should my shop be hosted
MiGS Virtual Payment Client Integration Guide. July 2011 Software version: MR 27
MiGS Virtual Payment Client Integration Guide July 2011 Software version: MR 27 Copyright MasterCard and its vendors own the intellectual property in this Manual exclusively. You acknowledge that you must
Event Manager. LANDesk Service Desk
Event Manager LANDesk Service Desk LANDESK SERVICE DESK EVENT MANAGER GUIDE This document contains information that is the proprietary and confidential property of LANDesk Software, Inc. and/or its affiliated
WEB TERMINAL AND RECURRING BILLING
PROCESSING TRANSACTIONS WITH WEB TERMINAL AND RECURRING BILLING Document Version 1.4 December 2013 For further information please contact Digital River customer support at 0800 756 3350 or [email protected].
Security Analytics Engine 1.0. Help Desk User Guide
2015 Dell Inc. ALL RIGHTS RESERVED. This guide contains proprietary information protected by copyright. The software described in this guide is furnished under a software license or nondisclosure agreement.
SERVICE LEVEL AGREEMENT. Open Source Support Desk B.V. Hargray, Inc.
SERVICE LEVEL AGREEMENT between Open Source Support Desk B.V. and Hargray, Inc. Copyright 2011 by Open Source Support Desk B.V. All rights reserved. This document is protected by copyright. No part of
Technical Specification Premium SMS gateway
Technical Specification Premium SMS gateway Non-subscription services (TS.001) Author: Erwin van den Boom Version history v1.0 EvdB 12 september 2007 V1.1 DI 27 may 2009 V1.2 SvE 10 december 2009 V1.3
FAX-TO-EMAIL END-USER LICENSE AGREEMENT
FAX-TO-EMAIL END-USER LICENSE AGREEMENT This Agreement, which governs the terms and conditions of your use of the Fax-to-Email Services, is between you ("you" or "End-User") and ( we, us, our or Company
Easy CollECt and the transaction ManagEr interface
Easy Collect and the Transaction Manager Interface Table of Contents 1 2 3 Easy Collect... 4 1.1. Configuring your account for Easy Collect... 4 1.1.1. Creating your Easy Collect ID... 4 1.1.1.1. Transaction
Technical Help Desk Terms of Service
Technical Help Desk Terms of Service This esecuritel Technical Help Desk Terms of Service (the Agreement ) is provided in connection with the eligible tablet enrolled in either the Advanced Protection
Secure XML API Integration Guide. (with FraudGuard add in)
Secure XML API Integration Guide (with FraudGuard add in) Document Control This is a control document DESCRIPTION Secure XML API Integration Guide (with FraudGuard add in) CREATION DATE 02/04/2007 CREATED
Bank and SecurePay Response Codes
Bank and SecurePay s Last updated: 19/07/2013 Bank s for Credit Card Transactions APPROVED 00 Approved 08 Honour with ID 11 Approved VIP (not used) 16 Approved, Update Track 3 (not used) 77 Approved (ANZ
Refer to the Integration Guides for the Connect solution and the Web Service API for integration instructions and issues.
Contents 1 Introduction 4 2 Processing Transactions 5 2.1 Transaction Terminology 5 2.2 Using Your Web Browser as a Virtual Point of Sale Machine 6 2.2.1 Processing Sale transactions 6 2.2.2 Selecting
API Documentation. Version 2.0
API Documentation Version 2.0 Table of Contents 1. Overview...5 1.1 Test Merchant Account v/s Live Merchant Account...5 1.2 Target Audience...5 1.3 Assistance...6 1.4 Technical Architecture...6 2 Getting
General Terms and Conditions of ERS Railways B.V. dated 1 May 2009
General Terms and Conditions of ERS Railways B.V. dated 1 May 2009 Article 1 Definitions CIM Uniform Rules Container Cargo ERS Customer RID Title 8.18 CC Uniform Rules concerning the Contract of International
Web Services Credit Card Errors A Troubleshooter
Web Services Credit Card Errors A Troubleshooter March 2011 This manual and accompanying electronic media are proprietary products of Optimal Payments plc. They are to be used only by licensed users of
Virtual Terminal User s Guide
Virtual Terminal User s Guide For Professional Use Only Currently only available in English. A usage Professional Uniquement Disponible en Anglais uniquement pour l instant. Last updated: June 2009 PayPal
DOCDATA - OPENCART PLUGIN
DOCDATA - OPENCART PLUGIN PAYMENT GATEWAY PLUGIN, V1.0 (BETA) INSTALLATION & USER MANUAL V1.0 AUG. 02, 2013 BROUGHT TO YOU BY DOCDATA PAYMENTS B.V., HOOFDSTRAAT 82, 3972 LB DRIEBERGEN-RIJSENBURG [email protected]
SmarterMeasure Inbound Single Sign On (SSO) Version 1.3 Copyright 2010 SmarterServices, LLC / SmarterServices.com PO Box 220111, Deatsville, AL 36022
SmarterMeasure Inbound Single Sign On (SSO) Version 1.3 Copyright 2010 SmarterServices, LLC / SmarterServices.com PO Box 220111, Deatsville, AL 36022 Contents 1. Revision History... 3 2. Overview... 3
Adyen Merchant Manual. Version 1.10 Adyen B.V.
Adyen Merchant Manual Version 1.10 Adyen B.V. Introduction3 Table of Contents Introduction... 3 Audience...3 Changelog...3 1 Payment Life-cycle in the Adyen System... 4 What Happens to a Payment After
Virtual Payment Client Integration Reference. April 2009 Software version: 3.1.21.1
Virtual Payment Client Integration Reference April 2009 Software version: 3.1.21.1 Copyright MasterCard and its vendors own the intellectual property in this Manual exclusively. You acknowledge that you
AN11241. AES encryption and decryption software on LPC microcontrollers. Document information
AES encryption and decryption software on LPC microcontrollers Rev. 1 25 July 2012 Application note Document information Info Content Keywords AES, encryption, decryption, FIPS-197, Cortex-M0, Cortex-M3
Payment Page Extensions. Online Payment Processing for Businesses Worldwide. www.telr.com
Payment Page Extensions Online Payment Processing for Businesses Worldwide www.telr.com Page 2 of 13 Contents About this guide... 3 Copyright... 3 Introduction... 3 Using an extension... 4 Additional information
General Terms and Conditions of the Association of Dutch Designers (BNO) February 2013
General Terms and Conditions of the Association of Dutch Designers (BNO) February 2013 1 Agreement, offer and confirmation 1.1 These General Terms and Conditions ( General Terms and Conditions ) govern
e.service Merchant Services
e.service Merchant Services With Debit Card Filter for Pre-Bankruptcy Credit Counseling Payments 1) Return the following: APPLICATION INSTRUCTIONS PROGRAM CHARGES CREDIT APPLICATION INCLUDE COPY OF 501(c)(3)
Adyen Merchant Integration Manual. Version 1.60 Adyen B.V.
Adyen Merchant Integration Manual Version 1.60 Adyen B.V. Table of Contents Introduction...3 Audience...3 Changelog...4 1 Hosted Payment Pages (HPPs)...5 Setting Up the Payment...5 Payment Session Example...5
February 2010 Version 6.1
HansaWorld University Point Of Sales (POS) Training Material HansaWorld Ltd. February 2010 Version 6.1 Table Of Contents INTRODUCTION...5 What is Point Of Sales?...5 THE 4 DIFFERENT WAYS OF USING POS...6
Web Services Credit Card Errors A Troubleshooter
Web Services Credit Card Errors A Troubleshooter January 2012 This manual and accompanying electronic media are proprietary products of Optimal Payments plc. They are to be used only by licensed users
Paynow 3rd Party Shopping Cart or Link Integration Guide
Paynow 3rd Party Shopping Cart or Link Integration Guide Version 1.0.5 15 August 2014 A guide outlining merchant integration into Paynow for externally hosted shopping carts or applications. For details
Netswipe Processing Implementation
Netswipe Processing Implementation Direct Integration with Jumio s Payment Gateway Revision History Version Date published Description 1.0.0 November 22 nd, 2011 Initial release. 1.0.1 January 12 th, 2012
Server-to-Server Credit Card Implementation Guide
Server-to-Server Credit Card Implementation Guide Merchant implementation instructions to integrate to the Setcom credit card processing platform. Covers: Fraud Screening, Verified by Visa, MasterCard
Getting Started with Apple Pay on the Authorize.Net Platform
Title Page Getting Started with Apple Pay on the Authorize.Net Platform September 2014 Authorize.Net Developer Support http://developer.authorize.net Authorize.Net LLC 082007 Ver.2.0 Authorize.Net LLC
The Designer estimates reaching satisfactory completion of the Services within six weeks of the Effective Date.
Website Design Agreement 1. Description of the Services The Designer will design a website (the "Website") for the Owner by providing the design and programming services listed on Schedule A (the "Services")
Cisco UCS Director Payment Gateway Integration Guide, Release 4.1
First Published: April 16, 2014 Americas Headquarters Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.com Tel: 408 526-4000 800 553-NETS (6387) Fax: 408 527-0883
GENERAL ADMINISTRATION - SHOPPING CART
GENERAL ADMINISTRATION - SHOPPING CART Document Version 3.0 December 2014 For assistance, please message DRWP Client Services or call 0800 756 3350. Copyright 2014 Beanstream Internet Commerce. All rights
Presence SIMPLE Architecture
Presence SIMPLE Architecture Approved Version 1.1 27 Jun 2008 Open Mobile Alliance OMA-AD-Presence_SIMPLE-V1_1-20080627-A OMA-AD-Presence_SIMPLE-V1_1-20080627-A Page 2 (21) Use of this document is subject
AS DNB banka. DNB Link specification (B2B functional description)
AS DNB banka DNB Link specification (B2B functional description) DNB_Link_FS_EN_1_EXTSYS_1_L_2013 Table of contents 1. PURPOSE OF THE SYSTEM... 4 2. BUSINESS PROCESSES... 4 2.1. Payment for goods and services...
COMMANDbatch. VLink COMMANDbatch Interface Setup & Operation. Last Updated 3/16/16 COMMANDbatch V1.8.7.0 & Later
COMMANDbatch VLink COMMANDbatch Interface Setup & Operation Last Updated 3/16/16 COMMANDbatch V1.8.7.0 & Later 2003-2016 Command Alkon Incorporated. All rights reserved. The contents of this document are
b) General Sales Conditions: these general sales and delivery conditions;
GENERAL SALES AND DELIVERY CONDITIONS OF LABORI INTERNATIONAL B.V. 1. DEFINITIONS 1.1 In these general sales and delivery conditions the following terms have the following meaning: a) Buyer: the person
Merchant Interface Online Help Files
Merchant Interface Online Help Files REGAL t e c h n o l o g i e s t h e f u t u r e o f p a y m e n t s Table of Contents Merchant Interface Online Help Files... 1 Tools... 2 Virtual Terminal... 7 Submit
Elavon Payment Gateway- Reporting User Guide
Elavon Payment Gateway- Reporting User Guide Version: v1.1 Contents 1 About This Guide... 4 1.1 Purpose... 4 1.2 Audience... 4 1.3 Prerequisites... 4 1.4 Related Documents... 4 1.5 Terminology... 4 1.6
Virtual Terminal User s Guide
Virtual Terminal User s Guide For Professional Use Only Currently only available in English. A usage Professional Uniquement Disponible en Anglais uniquement pour l instant. Last updated: June 2008 PayPal
The Vetuma Service of the Finnish Public Administration SAML interface specification Version: 3.5
The Vetuma Service of the Finnish Public Administration SAML interface specification Version: 3.5 Vetuma Authentication and Payment Table of Contents 1. Introduction... 3 2. The General Features of the
1. Definitions The following definitions are, both in the singular and in the plural, used in these terms and conditions payment methods Buckaroo:
Conditions Paymenttypes Buckaroo version 7.4 01-12-2014 Page 1 of 7 Specific Terms and Conditions per Payment Method This document contains the terms and conditions that Buckaroo and Payment Service Owners
RUNESTONE TELEPHONE ASSOCIATION Retail Rates / Terms / Conditions / Description of Service For Long Distance Services
RUNESTONE TELEPHONE ASSOCIATION Retail Rates / Terms / Conditions / Description of Service For Long Distance Services I. TERMS OF SERVICE... 1 II. DESCRIPTION OF SERVICE... 7 III. DOMESTIC RATES... 9 IV.
"Owner" "Designer" 1. Description of the Services. "Website" Schedule A "Services" 2. Design Team. "Design Team" 3. Term / Scheduling.
The following outlines the terms of service by and between the CLIENT (the "Owner") and Made Right Media (the "Designer"), of 720 W. Idaho St. #32, Boise, Idaho 83702. 1. Description of the Services. The
2. Offers or quotations made by WorldStream B.V. are valid for 14 days unless specified otherwise.
General Terms and Conditions of WorldStream B.V. 1. Definitions 1. Client: the natural or legal entity with whom the agreement to supply products and services from WorldStream B.V. is concluded. 2. Services
