Paygate interface: via form
Chart of process flow via form interface
Corporate PayPage
Paygate forms are framed as standard in white and grey. Merchants can customise the layout of the forms with the help of layout parameters. The simplest way to change the layout is to set the parameters for the background colour (BGColor), background image (BGImage) and the font (FFace). You can use XSL-templates to change the layout further:
In the case of direct debit payments you can change the parameter Template to create an individual layout for your PaySDD-form which exactly matches your shop layout. To this end your graphic designer can design an HTML-template in the shop-design based on XSLT (Extensible Stylesheet Language Transformation). Computop Helpdesk copies this XSLT-template to our Paygate Server. If you enter the name of your XSLT-file in the Template parameter, the Paygate form will appear in your layout.
For general information about XSLT see www.w3.org.
The subsequent conventions apply for the use of the Corporate Pay Page with XSLT:
File names
A XSL file designed by you defines your individual layout. The associated XML file contains the texts that are to be displayed on the form. Hence, multilingualism is easy. Always use your MerchantID in the names of the files.
XSL template: MerchantID_PaySDD.xsl
XML text file: MerchantID_PaySDD.xml
Sub-folder for images: Templates/imagesMerchantID
In order not to receive safety notices, please ensure that external image sources are retrieved via SSL.
In order to call the individual layout, use the ‘template’ parameter with your MerchantID and attach it unencrypted to the call of the Computop payment page, for example: https://www.computop-paygate.com/paysdd.aspx?MerchantID=IhreMID&Len=123&Data=ABCFED…ACEF&template=IhreMerchantID
Field names of the form
When implementing the text field for the IBAN, use the following values for the parameters ‘name’ and ‘id’:
Account holder: „AccOwner“
IBAN: „IBAN“
BIC: „BIC“
Bank (optional): „AccBank“
A text field for the input of the IBAN is then implemented as follows:
<input type="text" name="IBAN" id= "IBAN" value=""></input> |
Hidden Fields
The following hidden fields must be implemented so that the values can be passed on when sending the form:
MerchantID: „MerchantID“
Request length: „Len“
Request data: „Data“
Template: „Template“
Language: „Language“
Language selection
The language selection in form PaySDD.aspx is automatically based on the parameter Language. Other language areas are filtered out. If you wish to access the field of another language area e.g. with JavaScript, you can do so via the following path: template/language/@name.
XML structure
The ‘language’ parameter controls which section of the XML text file is read out. German ‘de’ is always used as standard.
The XML file should have the following basic structure:
<?xml version="1.0" encoding="UTF-16"?> </languages> <language name="de"> </language> <language name="en"> </language> </languages> |
With <xsl:variablename=““ select=“template/language/@name”/> you can directly address an XML language section from the XSL file.
For an overview of which parameters are rendered by the PaySDD, please examine the following structure (XSL file is rendered against the following XML string):
Dim strXML As String = "<?xml version='1.0' encoding='UTF-16'?>" & _ "<template pay='elv'>" & _ "<merchantID>"..."</merchantID>" & _ "<PayID>"..."</PayID>" & _ "<len>"..."</len>" & _ "<data>"..."</data>" & _ "<language>"..."</language>" & _ "<Border>"..."</Border>" & _ "<Background>"..."</Background>" & _ "<BGImage>"..."</BGImage>" & _ "<BGColor>"..."</BGColor>" & _ "<FFace>"..."</FFace>" & _ "<FSize>"..."</FSize>" & _ "<FColor>"..."</FColor>" & _ "<twidth>"..."</twidth>" & _ "<theight>"..."</theight>" & _ strCustomFieldsXML & _ "<URLBack>"..."</URLBack>" & _ "<AccOwner>"..."</AccOwner>" & _ "<IBAN>"..."</IBAN>" & _ "<PBAN>"..."</PBAN>" & _ "<BIC>"..."</BIC>" & _ "<Bank>"..."</Bank>" & _ "<template>"..."</template>" & _ "</template>" |
Since merchants use its own layout for the form, you do not require the layout parameter. However, it is possible after prior consultation with Computop to use the parameters for the transfer, e.g. the SessionID.
JavaScript
If JavaScript functions are desired, you must implement them in your template.
<script id=“clientEventHandlersJS“ language=“JavaScript“> if (document.SDDForm.IBAN.value.length > 34) { alert(„<xsl:value-of select=“/template/language/strJavaScript1“/>“); document.SDDForm.IBAN.focus(); } ... </script> |
Please do not use any external link to your JavaScript.
Link to Computop logo
Computop is obliged to provide the account holder information on which server he is on. Please implement a Computop logo like it is implemented on the standard form or display a small imprint link. You can download the Computop logo from www.computop.de/downloads.
Both items of information must refer to the Computop page impressum.aspx. This expects the ‘Data’ parameter, which is appended to the URL as in the following example.
impressum.aspx?data=<xsl:value-of select="/template/language/@name"/>|<xsl:value-of select="template/merchantID"/> |
Programming and testing the form
First design a HTML page with the layout for your payment page and initially save it for testing with the file extension .htm or .html. Open this file in the browser. Next, save this as an xsl file.
<?xml version='1.0' encoding="UTF-16"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="UTF-8"/> <xsl:template match="/"> <html> <head> <title>PaySDD Template</title> <script>Your JavaScript</script> </head> <body> <form action="https://www.computop-paygate.com/payinterim.aspx" methode="POST"> </form> </body> </html> </xsl:template> |
In order to read the texts from the XML file, first of all create your tags in the desired language sections with the texts:
<language name="de"> <strIBAN>IBAN</strIBAN> </language> |
Subsequently, replace the text in the HTML by a reference to the respective section in the XML file:
<xsl:value-of select="/template/language/strIBAN"/> |
In order to test your template, we request that you integrate the following lines in your XML file only for the test (before sending it to Computop) and afterwards to call up the XML file in a browser. If no error is displayed you can send your template and the image folder in a Zip file to Computop Helpdesk with a request to check and install it.
<?xml version="1.0" encoding="UTF-16"?> <?xml-stylesheet type="text/xsl" href="templatename.xsl"?> <template> <languages>please omit for your layout tests <language name="de"> </language> <language name="en"> </language> <languages>please omit for your layout tests </template> |
In order to get an overview of the versions, please include the date and version number in the name of your Zip file.
General parameters of the interface
The interface of the Paygate form is consistently paysdd.aspx for all connections. In order to make a direct debit payment via Paygate form, please use the following URL:
https://www.computop-paygate.com/paysdd.aspx |
This section explains the parameters which are the same for each connection. These values are always required, along with the special parameters explained in the following sections for each individual connection. The second table explains all response parameters which are also the same for all direct debit connections.
Notice: For security reasons, Computop Paygate rejects all payment requests with formatting errors. Therefore, please use the correct data type for each parameter. The following table describes the encrypted payment request parameters:
Key | REST | Format | CND | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
BasicAuth.Username | ans..30 | M | MerchantID, assigned by Computop. Additionally this parameter has to be passed in plain language too. | |||||||||
Amount | "amount": { "value": ...} | n..10 | M | Amount in the smallest currency unit (e.g. EUR Cent). Please contact the Computop Helpdesk, if you want to capture amounts <100 (smallest currency unit). | ||||||||
Currency | "amount": { "currency": "..."} | a3 | M | Currency, three digits DIN / ISO 4217, e.g. EUR, USD, GBP. Please find an overview here: A1 Currency table | ||||||||
not used | an64 | M | Hash Message Authentication Code (HMAC) with SHA-256 algorithm. Details can be found here: | |||||||||
TransID | "transactionId": "..." | ans..64 | M | TransactionID which should be unique for each payment When using auto-mandate (filling-in of MandateID with TransID or RefNr) the permitted character set is that of the MandateID parameter. | ||||||||
ReqId | "requestId": "..." | ans..32 | O | To avoid double payments or actions (e.g. by ETM), enter an alphanumeric value which identifies your transaction and may be assigned only once. If the transaction or action is submitted again with the same ReqID, Computop Paygate will not carry out the payment or new action, but will just return the status of the original transaction or action. Please note that the Computop Paygate must have a finalized transaction status for the first initial action (authentication/authorisation). This does not apply to 3-D Secure authentications that are terminated by a timeout. The 3-D Secure Timeout status does not count as a completed status in which the ReqID functionality on Paygate does not take effect. Submissions with identical ReqID for an open status will be processed regularly. Notice: Please note that a ReqID is only valid for 12 month, then it gets deleted at the Paygate. | ||||||||
URLSuccess | "urls": {"success": "..."} | ans..256 | M | Complete URL which calls up Paygate if payment has been successful. The URL may be called up only via port 443. This URL may not contain parameters: In order to exchange values between Paygate and shop, please use the parameter UserData. Common notes:
| ||||||||
URLFailure | "urls": {"failure": "..."} | ans..256 | M | Complete URL which calls up Paygate if payment has been unsuccessful. The URL may be called up only via port 443. This URL may not contain parameters: In order to exchange values between Paygate and shop, please use the parameter UserData. Common notes:
| ||||||||
Response | not used | a7 | O | Status response sent by Paygate to URLSuccess and URLFailure, should be encrypted. For this purpose, transmit Response=encrypt parameter. | ||||||||
URLNotify | "urls": {"notify": "..."} | ans..256 | M | Complete URL which Paygate calls up in order to notify the shop about the payment result. The URL may be called up only via port 443. It may not contain parameters: Use the UserData parameter instead. Common notes:
| ||||||||
In case of a direct debit payment and in the event of incorrect entries by the customer, one or more retries can be made directly on the Paygate form. The peculiarity here is that per payment attempt the shop receives a URLNotify call directly after execution. For that reason it is possible that the shop can receive e.g. 3 Notifies with an identical PayID and thereby different statuses can occur which must be processed accordingly. | ||||||||||||
UserData | "metadata[userData]": "..." | ans..1024 | O | If specified at request, Paygate forwards the parameter with the payment result to the shop. | ||||||||
Capture | an..6 | OM | Determines the type and time of capture.
| |||||||||
expirationTime | "expirationTime": "..." | ans..19 | O | timestamp for the end time of the transaction processing, specified in UTC. Format: YYYY-MM-ddTHH:mm:ss | ||||||||
Plain | "metadata[plain]": "..." | ans..50 | O | A single value to be set by the merchant to return some information unencrypted in response/notify, e.g. the MID. "Plain"-parameter is part of encrypted "Data" in Computop Paygate and therefore protected against manipulation. | ||||||||
Custom | "metadata": "..." | ans..1024 | O | "Custom"-parameter is added to the request data before encryption and is part of encrypted "Data" in Computop Paygate request. By this they are protected against manipulation by a consumer. The Custom-value is added to the Computop Paygate response in plain text and the "|" is replaced by a "&". By this you can put a single value into Custom-parameter and get multiple key-value-pairs back in response for your own purpose. Please find a samples here: Custom |
General parameters for direct debit payments via form
To adapt the layout of the SSL-page to your shop you can use the following unencrypted parameters to configure colours, fonts and images:
Key | REST | Format | CND | Description | |
---|---|---|---|---|---|
AccBank | "payment": {"directDebitForm": { "account": {"name"= "..." }}} | ans..20 | O | for the pre-completion of the direct debit form: Name of the account holder's bank | |
AccOwner | "payment": {"directDebitForm": { "account": {"accountHolder"= "..." }}} | ans..50 | O | for the pre-completion of the direct debit form: Name of account holder | |
IBAN | "payment": {"directDebitForm": { "account": {"number"= "..." }}} | ans..34 | M | for the pre-completion of the SEPA form: International Bank Account Number | |
BIC | "payment": {"directDebitForm": { "account": {"code"= "..." }}} | ans..11 | O | for the pre-completion of the SEPA form: Bank Identifier Code | |
Language | "language": "..." | a2 (enum) | M | Language code: <de> German, <al> Albanian, <at> Austrian, <cz/cs> Czech, <dk> Danish, <en> English, <fi> Finish, <fr> French, <gr> Greek, <hu> Hungarian, <it> Italian, <jp> Japanese, <nl> Dutch, <no> Norwegian, <pl> Polish, <pt> Portuguese, <ro> Romanian, <ru> Russian, <sp> Spanish, <se> Swedish, <sk> Slovakian, <sl> Slovenian, <tr> Turkey, <zh> Simplified Chinese. No details means the language is German. | |
Template | "payment": {"directDebitForm": { "template": {"name"= "..." }}} | ans..20 | O | Name of XSLT-file with your own layout for the pay form. If you want to use the redesigned and downwards compatible Computop template, please transfer the template name “ct_compatible”. If you want to use the responsive Computop template for mobile devices, please transfer the template name “ct_responsive”. | |
Background | "payment": {"directDebitForm": { "template": {"background"= "..." }}} | ans..256 | O | Background ambiance of form: URL for a background image - HTML-colour value for background colour as HEX value or - HTML-colour name | |
BGColor | "payment": {"directDebitForm": { "template": {"backgroundColour"= "..." }}} | ans..7 | O | Form background colour: - HTML-colour value for background colour as HEX value or - HTML-colour name | |
BGImage | "payment": {"directDebitForm": { "template": {"backgroundImage"= "..." }}} | ans..256 | O | Form background image: URL for a background image Please note that this value supersedes “BGColor”. | |
FColor | "payment": {"directDebitForm": { "template": {"textColour"= "..." }}} | ans..7 | O | Text colour: - HTML-colour value as HEX value or - HTML-colour name | |
FFace | "payment": {"directDebitForm": { "template": {"fontName"= "..." }}} | a..10 | O | HTML-name for the font | |
FSize | "payment": {"directDebitForm": { "template": {"fontSize"= ... }}} | n2 | O | Number for font size | |
URLBack | "urls": {"cancel": "..."} | ans..256 | O | Complete URL which Paygate calls in case that Cancel is clicked by the customer. The parameter "URLBack" can be sent
In order to exchange values between Paygate and shop you may use something like this:
When user cancels payment this URL is called exactly like this and you may use URL Decode to extract parameter and values. | |
tWidth | "payment": {"directDebitForm": { "template": {"tableWidth"= "..." }}} | ans..4 | O | Width of table for input in the form as percent- (50%) or pixel values (320). | |
tHeight | "payment": {"directDebitForm": { "template": {"tableHeighth"= "..." }}} | ans..4 | O | Height of table for input of the payment data in the form as percent- (70%) or pixel values (480). | |
CustomField[n] | "payment": {"directDebitForm": { "template": {"customFiels"= OBJECT }}} | ans..50 | O | Merchants can customize up to 14 special fields (called CustomField1 to CustomField14) on their payment form template. CustomFields are a feature that allows you to show additional information such as your logo, order details and customer details on the payment form. Special characters (like &, ', <, >) are not allowed - even not "urlencoded". The usage / display of CustomField{n] depends on the template that is used. |
Layout parameters for Paygate forms for direct debit payments
In case of using REST API In case of using REST API you will always receive a link where the merchant has to redirect the consumer to complete the payment. "paymentId": "..." May be "00000000000000000000000000000000" if not yet set by Computop Paygate "application/json" Merchant can use inquire.aspxREST Format CND Description an32 M "_Links.self.type": "..." an..20 M "_Links.redirect.href": "..." an..1024 M Merchant needs to redirect consumer to this URL to complete payment "_Links.redirect.type": "..." an..20 M "text/html"
In case of using Key-Value-Pair API The following table gives the result parameters which Computop Paygate transmits to URLSuccess or URLFailure and URLNotify. If you have specified the Response=encrypt parameter, the following parameters are sent Blowfish encrypted to your system: pls. be prepared to receive additional parameters at any time and do not check the order of parameters the key (e.g. mid, RefNr) should not be checked case-sentive
General results parameters for URLNotify, URLSuccess and URLFailure
Direct connection
In addition to the general parameters described above for the direct debit connection the following parameters need to be transmitted via form.
The following table describes the encrypted payment request parameters:
Key | REST | Format | CND | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
refnr | "referenceNumber": "..." | ns..30 | O | Merchant’s unique reference number | ||||||||
OrderDesc | "order": {"description[0]": "..."} | ans..384 | M | Description of purchased goods, unit prices etc. The first 27 characters appear on the customer-account statement. You can view the full data in Computop Analytics. | ||||||||
OrderDesc2 | "order": {"description[1]": "..."} | ans..384 | M | 2. Goods description which appears on the account extract (27 characters). You can view the full data in Computop Analytics. | ||||||||
Capture | an..6 | OM | Determines the type and time of capture.
| |||||||||
MandateID | "payment": {"directDebitForm": { "mandate": {"mandateId"= "..." }}} | ans..35 | C | for SEPA: SEPA mandate number (compulsory in the case of SEPA) should be unique, is not case-sensitive Permissible characters: numbers 0-9, upper case letters A-Z, lower case letters a-z, apostrophe, colon, question mark, comma, full stop, plus sign, minus sign, forward slash, left and right bracket | ||||||||
DtOfSgntr | "payment": {"directDebitForm": { "mandate": {"dateOfSignature"= "..." }}} | ans..10 | O | for SEPA: Date of issuing the mandate in the format DD.MM.YYYY (obligatory when transferring the MandateID) | ||||||||
MdtSeqType | "payment": {"directDebitForm": { "mandate": {"mandateSequenceType"= "..." }}} | ans..4 | O | for SEPA: Indicates whether the direct debit is a first, recurring, one-off or final direct debit. Permissible values: FRST, RCUR, OOFF, FNAL Standard: OOFF (single direct debit) | ||||||||
PBAN | "payment": {"directDebitForm": { "account": {"pseudoBankNumber"= "..." }}} | ans..27 | O | for SEPA: PseudoBankNumber. The last three digits are identical to the last three digits of the IBAN number |
In case of using REST API In case of using REST API you will always receive a link where the merchant has to redirect the consumer to complete the payment. "paymentId": "..." May be "00000000000000000000000000000000" if not yet set by Computop Paygate "application/json" Merchant can use inquire.aspxREST Format CND Description an32 M "_Links.self.type": "..." an..20 M "_Links.redirect.href": "..." an..1024 M Merchant needs to redirect consumer to this URL to complete payment "_Links.redirect.type": "..." an..20 M "text/html"
In case of using Key-Value-Pair API The following table gives the result parameters which Computop Paygate transmits to URLSuccess or URLFailure and URLNotify. If you have specified the Response=encrypt parameter, the following parameters are sent Blowfish encrypted to your system: pls. be prepared to receive additional parameters at any time and do not check the order of parameters the key (e.g. mid, RefNr) should not be checked case-sentive
Additional result parameters for URLNotify, URLSuccess and URLFailure in case of direct connection
EVO Payments
Besides general parameters for direct debit connection via EVO Payments additionally the following parameters need to be transmitted via form.
The following table describes the encrypted payment request parameters:
Key | REST | Format | CND | Description |
---|---|---|---|---|
EDDMethod | "payment": {"method": "..."} | a3 | O | Direct debit in Germany:=ELV, Netherlands=ENL, Austria=EEV |
OrderDesc | "order": {"description[0]": "..."} | ans..384 | M | Description of purchased goods, unit prices etc. The first 27 characters appear on the customer-account statement. You can view the full data in Computop Analytics. |
OrderDesc2 | "order": {"description[1]": "..."} | ans..384 | M | 2. Goods description which appears on the account extract (27 characters). You can view the full data in Computop Analytics. |
SubSeqType | "payment": {"directDebitForm": { "mandate": {"subSequenceType"= "..." }}} | a4 | O | for SEPA: indicates type of (following) direct debit (FRST, RCUR, OOFF, FNAL permissible) |
DebitDelay | "payment": {"directDebitForm": { "debitDelay": ... }} | n..3 | M | for SEPA: Number of bank working days >0 which has to be added for the execution date of direct debit |
CreditDelay | "payment": {"directDebitForm": { "creditDelay": ... }} | n..3 | O | for SEPA: Number of bank working days >0 which has to be added for the execution date of a credit |
MandateID | "payment": {"directDebitForm": { "mandate": {"mandateId"= "..." }}} | ans..35 | C | for SEPA: SEPA mandate number (compulsory in the case of SEPA) should be unique, is not case-sensitive Permissible characters: numbers 0-9, upper case letters A-Z, lower case letters a-z, apostrophe, colon, question mark, comma, full stop, plus sign, minus sign, forward slash, left and right bracket |
DtOfSgntr | "payment": {"directDebitForm": { "mandate": {"dateOfSignature"= "..." }}} | ans..10 | O | for SEPA: Date of issuing the mandate in the format DD.MM.YYYY (obligatory when transferring the MandateID) |
MdtSeqType | "payment": {"directDebitForm": { "mandate": {"mandateSequenceType"= "..." }}} | ans..4 | O | for SEPA: Indicates whether the direct debit is a first, recurring, one-off or final direct debit. Permissible values: FRST, RCUR, OOFF, FNAL Standard: OOFF (single direct debit) |
PBAN | "payment": {"directDebitForm": { "account": {"pseudoBankNumber"= "..." }}} | ans..27 | O | for SEPA: PseudoBankNumber. The last three digits are identical to the last three digits of the IBAN number |
Additional parameters for the direct debit connection EVO Payments via Paygate form
In case of using REST API In case of using REST API you will always receive a link where the merchant has to redirect the consumer to complete the payment. "paymentId": "..." May be "00000000000000000000000000000000" if not yet set by Computop Paygate "application/json" Merchant can use inquire.aspxREST Format CND Description an32 M "_Links.self.type": "..." an..20 M "_Links.redirect.href": "..." an..1024 M Merchant needs to redirect consumer to this URL to complete payment "_Links.redirect.type": "..." an..20 M "text/html"
In case of using Key-Value-Pair API The following table gives the result parameters which Computop Paygate transmits to URLSuccess or URLFailure and URLNotify. If you have specified the Response=encrypt parameter, the following parameters are sent Blowfish encrypted to your system: pls. be prepared to receive additional parameters at any time and do not check the order of parameters the key (e.g. mid, RefNr) should not be checked case-sentive
Additional result parameters for URLNotify, URLSuccess and URLFailure in case of EVO Payments connection
InterCard
Direct debit via Intercard does not offer payment protection. If you want to use a direct debit with payment protection, you must order and implement the payment method PayMorrow from Intercard.
Besides general parameters for direct debit connection via InterCard additionally the following parameters need to be transmitted via form.
The following table describes the encrypted payment request parameters:
Key | REST | Format | CND | Description |
---|---|---|---|---|
MandateID | "payment": {"directDebitForm": { "mandate": {"mandateId"= "..." }}} | ans..35 | C | for SEPA: SEPA mandate number (compulsory in the case of SEPA) should be unique, is not case-sensitive Permissible characters: numbers 0-9, upper case letters A-Z, lower case letters a-z, apostrophe, colon, question mark, comma, full stop, plus sign, minus sign, forward slash, left and right bracket |
DtOfSgntr | "payment": {"directDebitForm": { "mandate": {"dateOfSignature"= "..." }}} | ans..10 | O | for SEPA: Date of issuing the mandate in the format DD.MM.YYYY (obligatory when transferring the MandateID) |
PBAN | "payment": {"directDebitForm": { "account": {"pseudoBankNumber"= "..." }}} | ans..27 | O | for SEPA: PseudoBankNumber. The last three digits are identical to the last three digits of the IBAN number |
OrderDesc | "order": {"description[0]": "..."} | ans..384 | M | Description of purchased goods, unit prices etc. The first 27 characters appear on the customer-account statement. You can view the full data in Computop Analytics. |
RefNr | "referenceNumber": "..." | ns..30 | O | Merchant’s unique reference number When using auto-mandate (filling-in of MandateID with TransID or RefNr) the permitted character set is that of the MandateID parameter. |
CustomerID | "billing": {"consumer": { "consumerId": "..." }} | ans..30 | M | Customer number at the merchant |
DateOfRegistration | "accountInfo": {"creationDate": "..."} | dttm8 | O | Customer since in the format YYYYMMDD |
CustomerClassification | ans..20 | O | (business / private) | |
"billing": {"contactInfo": { "email": "..." }} | ans..80 | O | E-mail address | |
DateOfBirth | dttm8 | O | Date of birth in the format YYYYMMDD | |
bdSalutation | "billing": {"consumer": { "salutation": "..." }} | ans...4 | O | Salutation of the invoicing address |
bdFirstName | "billing": {"consumer": { "firstName": "..." }} | ans..30 | M | First name of the invoicing address |
bdLastName | "billing": {"consumer": { "lastName": "..." }} | ans..30 | M | Last name of the invoicing address |
bdStreet | "billing": {"addressInfo": { "addressLine1": {"street"= "..." }}} | a..50 | M | Street name of the invoicing address |
bdStreetNr | "billing": {"addressInfo": { "addressLine1": {"streetNumber"= "..." }}} | ans..5 | M | Street number of the invoicing address |
bdCountryCode | "billing": {"addressInfo": { "country": {"A2"= "..." }}} | a2 | O | Country code in the invoicing address, 2 characters according to ISO 3166 |
bdZip | "billing": {"addressInfo": { "postalCode": "..." }} | n..5 | M | Postcode of the invoicing address |
bdCity | "billing": {"addressInfo": { "city": "..." }} | a..32 | M | Town or city of the invoicing address |
bdPhone | "billing": {"contactInfo": { "phone": "..." }} | ans..15 | O | Phone number in the invoicing address |
bdFax | "billing": {"contactInfo": { "fax": "..." }} | ans..20 | O | Fax number of the invoicing address |
bdMaidenName | "billing": {"consumer": { "maidenName": "..." }} | ans..30 | O | Maiden name of the invoicing address |
UseBillingData | a..3 | O | Is the invoicing address to be used as the delivery address? <Yes> or <No>. If <Yes> no parameters are transferred for the delivery address, if <No> they are obligatory. Standard=Yes | |
sdSalutation | "shipping": {"consumer": { "salutation": "..." }} | ans...4 | O | Salutation in the delivery address |
sdFirstName | "shipping": {"consumer": { "firstName": "..." }} | ans..30 | O | First name in the delivery address |
sdLastName | "shipping": {"consumer": { "lastName": "..." }} | ans..30 | O | Last name in the delivery address |
sdStreet | "shipping": {"addressInfo": { "addressLine1": {"street"= "..." }}} | a..50 | O | Street in the delivery address |
sdStreetNr | "shipping": {"addressInfo": { "addressLine1": {"streetNumber"= "..." }}} | ans..5 | O | Street number of the delivery address |
sdCountryCode | "shipping": {"addressInfo": { "country": {"A2"= "..." }}} | a2 | O | Country code for the delivery address, 2 characters according to ISO 3166 |
sdZip | "shipping": {"addressInfo": { "postalCode": "..." }} | n..5 | O | Postcode in the delivery address |
sdCity | "shipping": {"addressInfo": { "city": "..." }} | a..50 | O | Town/city in the delivery address |
RegularCustomerIndicator | a..5 | O | Regular customer (true / false) | |
ShoppingBasket | ans..1024 | O | Customer order information (prices each in the smallest currency unit): - invoice number / order number - total net price, numerical - total gross price - net shipping costs - gross shipping costs - net discount - gross discount <;> separates the fields in the shopping basket Example: InvoiceNumber;TotalNetPrice;TotalGrossPrice;NetShippingCosts;GrossShippingCosts;NetDiscount;GrossDiscount | |
ArticleList | "order": {"items": "..."} | ans..2048 | C | Mandatory if shopping basket is transmitted: Shopping basket of the customer: - article description (ans—50) - quantity - net article price - gross article price Note on the structure of the article list: <;> separates fields in the article data set Each article is transferred as a complete article data set: ArticleDescription;Quantity; ArticleName; NetArticlePrice;GrossArticlePrice + ArtcleDescription;Quantity;ArticleName;NetArticlePrice;GrossArticlePrice |
Additional parameters for the direct debit connection InterCard via Paygate form
In case of using REST API In case of using REST API you will always receive a link where the merchant has to redirect the consumer to complete the payment. "paymentId": "..." May be "00000000000000000000000000000000" if not yet set by Computop Paygate "application/json" Merchant can use inquire.aspxREST Format CND Description an32 M "_Links.self.type": "..." an..20 M "_Links.redirect.href": "..." an..1024 M Merchant needs to redirect consumer to this URL to complete payment "_Links.redirect.type": "..." an..20 M "text/html"
In case of using Key-Value-Pair API The following table gives the result parameters which Computop Paygate transmits to URLSuccess or URLFailure and URLNotify. If you have specified the Response=encrypt parameter, the following parameters are sent Blowfish encrypted to your system: pls. be prepared to receive additional parameters at any time and do not check the order of parameters the key (e.g. mid, RefNr) should not be checked case-sentive
Additional result parameters for URLNotify, URLSuccess and URLFailure in case of InterCard connection
PPRO
Besides general parameters for direct debit connection via PPRO additionally the following parameters need to be transmitted via form.
Notice: Please remind that the standard parameter OrderDesc will not be forwarded with PPRO.
The following table describes the encrypted payment request parameters:
Key | REST | Format | CND | Description |
---|---|---|---|---|
RefNr | "referenceNumber": "..." | ans..40 | O | Merchant’s unique reference number. Only characters a-zA-Z0-9,-_ are allowed. When using auto-mandate (filling-in of MandateID with TransID or RefNr) the permitted character set is that of the MandateID parameter. |
"payment": {"directDebitForm": { "sellingPoint": "..." }} | ans..50 | O | Selling point | |
"payment": {"directDebitForm": { "service": "..." }} | ans..50 | O | products or service sold | |
"channel": {"code": "..."} | ans..64 | O | Configuration channel of the PPRO contract (account and ContractID are stored in the system). If it exists, it may overwrite channels stored in the system. | |
Language | "language": "..." | a2 | O | 2-letter language code (e.g. de) that should be preferred when presenting payment pages to the consumer |
"billing": {"contactInfo": { "email": "..." }} | ans..100 | M | E-Mail address of account holder | |
CustomerID | "billing": {"consumer": { "consumerId": "..." }} | ans..30 | O | Customer number |
AddrCountryCode | "billing": {"addressInfo": { "country": {"A2"= "..." }}} | a2 | M | Two characters country code according to ISO 3166 |
MdtSeqType | "payment": {"directDebitForm": { "mandate": {"mandateSequenceType"= "..." }}} | ans..4 | O | for SEPA: Indicates whether the direct debit is a first, recurring, one-off or final direct debit. Permissible values: FRST, RCUR, OOFF, FNAL Standard: OOFF (single direct debit) |
Additional parameters for the direct debit connection PPRO via Paygate form
In case of using REST API In case of using REST API you will always receive a link where the merchant has to redirect the consumer to complete the payment. "paymentId": "..." May be "00000000000000000000000000000000" if not yet set by Computop Paygate "application/json" Merchant can use inquire.aspxREST Format CND Description an32 M "_Links.self.type": "..." an..20 M "_Links.redirect.href": "..." an..1024 M Merchant needs to redirect consumer to this URL to complete payment "_Links.redirect.type": "..." an..20 M "text/html"
In case of using Key-Value-Pair API The following table gives the result parameters which Computop Paygate transmits to URLSuccess or URLFailure and URLNotify. If you have specified the Response=encrypt parameter, the following parameters are sent Blowfish encrypted to your system: pls. be prepared to receive additional parameters at any time and do not check the order of parameters the key (e.g. mid, RefNr) should not be checked case-sentive
Additional result parameters for URLNotify, URLSuccess and URLFailure in case of PPRO connection
Paygate interface: via Server-to-Server
Chart of process flow via Server-to-Server
For the server-to-server payment processes please refer to the programming basics manual.
Call of interface: general parameters
The interface for direct debit payments is edddirect.aspx for all connections. To carry out an electronic direct debit via a Server-to-Server connection, please use the following URL:
https://www.computop-paygate.com/edddirect.aspx |
Notice: For security reasons, Computop Paygate rejects all payment requests with formatting errors. Therefore, please use the correct data type for each parameter. The following table describes the encrypted payment request parameters:
Key | REST | Format | CND | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
BasicAuth.Username | ans..30 | M | MerchantID, assigned by Computop. Additionally this parameter has to be passed in plain language too. | |||||||||
Amount | "amount": { "value": ...} | n..10 | M | Amount in the smallest currency unit (e.g. EUR Cent). Please contact the Computop Helpdesk, if you want to capture amounts <100 (smallest currency unit). | ||||||||
Currency | "amount": { "currency": "..."} | a3 | M | Currency, three digits DIN / ISO 4217, e.g. EUR, USD, GBP. Please find an overview here: A1 Currency table | ||||||||
not used | an64 | M | Hash Message Authentication Code (HMAC) with SHA-256 algorithm. Details can be found here: | |||||||||
TransID | "transactionId": "..." | ans..64 | M | TransactionID which should be unique for each payment When using auto-mandate (filling-in of MandateID with TransID or RefNr) the permitted character set is that of the MandateID parameter. | ||||||||
AccBank | "payment": {"directDebit": { "account": {"name"= "..." }}} | ans..20 | M | Bank name | ||||||||
AccOwner | "payment": {"directDebit": { "account": {"accountHolder"= "..." }}} | a..50 | M | Account holder | ||||||||
IBAN | "payment": {"directDebit": { "account": {"number"= "..." }}} | ans..34 | M | International Bank Account Number | ||||||||
BIC | "payment": {"directDebit": { "account": {"code"= "..." }}} | ans..11 | O | Bank Identifier Code | ||||||||
ReqId | "requestId": "..." | ans..32 | O | To avoid double payments or actions (e.g. by ETM), enter an alphanumeric value which identifies your transaction and may be assigned only once. If the transaction or action is submitted again with the same ReqID, Computop Paygate will not carry out the payment or new action, but will just return the status of the original transaction or action. Please note that the Computop Paygate must have a finalized transaction status for the first initial action (authentication/authorisation). This does not apply to 3-D Secure authentications that are terminated by a timeout. The 3-D Secure Timeout status does not count as a completed status in which the ReqID functionality on Paygate does not take effect. Submissions with identical ReqID for an open status will be processed regularly. Notice: Please note that a ReqID is only valid for 12 month, then it gets deleted at the Paygate. | ||||||||
UserData | "metadata[userData]": "..." | ans..1024 | O | If specified at request, Paygate forwards the parameter with the payment result to the shop. | ||||||||
Capture | an..6 | OM | Determines the type and time of capture.
|
General parameters for direct debit payments via socket connection
The following table describes the result parameters with which the Computop Paygate responds to your system pls. be prepared to receive additional parameters at any time and do not check the order of parameters the key (e.g. mid, RefNr) should not be checked case-sentive
Key | REST | Format | CND | Description |
---|---|---|---|---|
"merchantId": "..." | ans..30 | M | MerchantID, assigned by Computop | |
PayID | "paymentId": "..." | an32 | M | ID assigned by Paygate for the payment, e.g. for referencing in batch files as well as for capture or credit request. |
XID | "xId": "..." | an32 | M | ID for all single transactions (authorisation, capture, credit note) for one payment assigned by Paygate |
TransID | "transactionId": "..." | ans..64 | M | TransactionID provided by you which should be unique for each payment |
Status | a..50 | M | OK or PENDING (URLSuccess) as well as FAILED (URLFailure) | |
Description | "description": "..." | ans..1024 | M | Further details in the event that payment is rejected. Please do not use the Description but the Code parameter for the transaction status analysis! |
Code | "code": ... | n8 | M | Error code according to Paygate Response Codes (A4 Error codes) |
UserData | "payment": { "userData": "..."} | ans..1024 | O | If specified at request, Paygate forwards the parameter with the payment result to the shop. |
IBAN | "payment": { "bankAccountNumber": "..."} | ans..34 | O | International Bank Account Number |
BIC | "payment": { "bankIdentifierCode": "..."} | ans..11 | OC | Only in the case of PBAN creation: PseudoBankNumber. The last three digits are identical to the last three digits of the IBAN number |
AccOwner | "payment": { "accountHolderName": "..."} | ans..50 | OC | Only in the case of PBAN creation: Account holder |
AccBank | "payment": { "bankName": "..."} | ans..20 | OC | Only in the case of PBAN creation: Name of the bank |
PBAN | "payment": { "pseudoBankNumber": "..."} | ans..27 | O | Only in the case of PBAN creation: PseudoBankNumber. The last three digits are identical to the last three digits of the IBAN number |
MandateID | "payment": { "mandateId": "..."} | ans..35 | O | SEPA mandate number |
DtOfSgntr | "payment": { "dateOfSignature": "..."} | ans..10 | O | For SEPA: Date of issuing the mandate in the format DD.MM.YYYY |
General response parameters for direct debit payments via socket connection
Direct connection
Besides the general parameters described above for the direct debit connection, the following parameters are to be transmitted via server-to-server connection.
The following table describes the encrypted payment request parameters:
Key | REST | Format | CND | Description |
---|---|---|---|---|
MandateID | "payment": {"directDebit": { "mandate": {"mandateId"= "..." }}} | ans..35 | M | for SEPA: SEPA mandate number (compulsory in the case of SEPA) should be unique, is not case-sensitive Permissible characters: numbers 0-9, upper case letters A-Z, lower case letters a-z, apostrophe, colon, question mark, comma, full stop, plus sign, minus sign, forward slash, left and right bracket |
DtOfSgntr | "payment": {"directDebit": { "mandate": {"dateOfSignature"= "..." }}} | ans..10 | O | for SEPA: Date of issuing the mandate in the format DD.MM.YYYY (obligatory when transferring the MandateID) |
MdtSeqType | "payment": {"directDebit": { "mandate": {"mandateSequenceType"= "..." }}} | ans..4 | O | for SEPA: Indicates whether the direct debit is a first, recurring, one-off or final direct debit. Permissible values: FRST, RCUR, OOFF, FNAL Standard: OOFF (single direct debit) |
PBAN | "payment": {"directDebit": { "account": {"pseudoBankNumber"= "..." }}} | ans..27 | O | for SEPA: PseudoBankNumber. The last three digits are identical to the last three digits of the IBAN number |
UserData | "metadata[userData]": "..." | ans..1024 | O | If specified at request, Paygate forwards the parameter with the payment result to the shop. |
refnr | "referenceNumber": "..." | ns..30 | O | Merchant’s unique reference number |
OrderDesc | "order": { "description[0]": "..."} | ans..384 | M | Description of purchased goods, unit prices etc. The first 27 characters appear on the customer-account statement. You can view the full data in Computop Analytics. |
OrderDesc2 | "order": { "description[1]": "..."} | ans..384 | M | 2. Goods description which appears on the account extract (27 characters). You can view the full data in Computop Analytics. |
Key | Format | CND | Additional parameters in case of activated DEVICERECOGNITION | |
DeviceID | "device": { "deviceId": "..."} | ans..50 | O | Unique Device-ID |
DRConfidence | "device": { "confidence": ...} | n..3 | O | Allocation quote 0-100 (0=no allocation, 100=absolutely safe allocation |
DRNewDevice | ans..5 | O | True / false | |
DRAnonProxyUsed | ans..5 | O | True / false | |
DRProxyUsed | ans..5 | O | True / false | |
DRCountryCode | "device": { "country": "..."} | a2 | O | Country code, 2 characters according to ISO 3166, retrieved from geolocation data, e.g. DE |
DRCity | "device": { "city": "..."} | ans..50 | O | City, retrieved form geolocation data, e.g. Frankfort |
DRLatitude | "device": { "latitude": "..."} | ans..50 | O | Geographic latitude, retrieved from geolocation data, e.g. 13.754 |
DRLongitude | "device": { "longitude": "..."} | ans..50 | O | Geographic longitude, retrieved from geolocation data, e.g. 100.5014 |
DRFS | "device": { "fraudScore": ...} | n..3 | O | Fraud score 0-100 (0=low fraud probability, 100=high fraud probability) |
DRFSRulematch | "device": { "fraudScoreRules": "..."} | ans..1024 | O | Rules for allocation to fraud score |
DRBrowserLanguages | "device": { "browserLanguages": "..."} | ans..255 | O | List of browser languages |
DRIsMobileDevice | ans..5 | O | True / false | |
Fraud | "device": { "fraud": "..."} | ans..50 | O | e.g. Fraud, Suspicion, NoFraud |
Additional parameters for direct debit payments via socket connection for the direct connection
The following table gives the parameters with which Paygate responds:
Key | REST | Format | CND | Description |
---|---|---|---|---|
refnr | "referenceNumber": "..." | ns..30 | O | Merchant’s unique reference number |
MdtSeqType | "payment": { "mandateSequenceType": "..."} | ans..4 | O | for SEPA: Indicates whether the direct debit is a first, recurring, one-off or final direct debit. Permissible values: FRST, RCUR, OOFF, FNAL Standard: OOFF (single direct debit) |
Additional response parameters for direct debit payments via socket connection for the direct connection
EVO Payments
Besides the general parameters described above for the connection EVO Payments to direct debit, the following parameters are to be transmitted via server-to-server connection.
The following table describes the encrypted payment request parameters:
Key | REST | Format | CND | Description |
---|---|---|---|---|
EDDMethod | "payment": {"method": "..."} | a3 | O | Direct debit in Germany:=ELV, Netherlands=ENL, Austria=EEV |
OrderDesc | "order": {"description[0]": "..."} | ans..384 | M | Description of purchased goods, unit prices etc. The first 27 characters appear on the customer-account statement. You can view the full data in Computop Analytics. |
OrderDesc2 | "order": {"description[1]": "..."} | ans..384 | M | 2. Goods description which appears on the account extract (27 characters). You can view the full data in Computop Analytics. |
SubSeqType | "payment": {"directDebit": { "mandate": {"subSequenceType"= "..." }}} | a4 | O | for SEPA: indicates type of (following) direct debit (FRST, RCUR, OOFF, FNAL permissible) |
DebitDelay | "payment": {"directDebit": { "debitDelay": ... }} | n..3 | M | for SEPA: Number of bank working days >0 which has to be added for the execution date of direct debit |
CreditDelay | "payment": {"directDebit": { "creditDelay": ... }} | n..3 | O | for SEPA: Number of bank working days >0 which has to be added for the execution date of a credit |
MandateID | "payment": {"directDebit": { "mandate": {"mandateId"= "..." }}} | ans..35 | C | for SEPA: SEPA mandate number (compulsory in the case of SEPA) should be unique, is not case-sensitive Permissible characters: numbers 0-9, upper case letters A-Z, lower case letters a-z, apostrophe, colon, question mark, comma, full stop, plus sign, minus sign, forward slash, left and right bracket |
DtOfSgntr | "payment": {"directDebit": { "mandate": {"dateOfSignature"= "..." }}} | ans..10 | O | for SEPA: Date of issuing the mandate in the format DD.MM.YYYY (obligatory when transferring the MandateID) |
MdtSeqType | "payment": {"directDebit": { "mandate": {"mandateSequenceType"= "..." }}} | ans..4 | O | for SEPA: Indicates whether the direct debit is a first, recurring, one-off or final direct debit. Permissible values: FRST, RCUR, OOFF, FNAL Standard: OOFF (single direct debit) |
PBAN | "payment": {"directDebit": { "account": {"pseudoBankNumber"= "..." }}} | ans..27 | O | for SEPA: PseudoBankNumber. The last three digits are identical to the last three digits of the IBAN number |
Additional parameters for direct debit payments via socket connection for the connection EVO Payments
The following table gives the parameters with which Paygate responds:
Key | REST | Format | CND | Description |
---|---|---|---|---|
MdtSeqType | "payment": { "mandateSequenceType": "..."} | ans..4 | O | for SEPA: Indicates whether the direct debit is a first, recurring, one-off or final direct debit. Permissible values: FRST, RCUR, OOFF, FNAL Standard: OOFF (single direct debit) |
Additional response parameters for direct debit payments via socket connection for the connection EVO Payments
InterCard
Direct debit via Intercard does not offer payment protection. If you want to use a direct debit with payment protection, you must order and implement the payment method PayMorrow from Intercard.
Besides the general parameters described above for the connection InterCard to direct debit, the following parameters are to be transmitted via server-to-server connection.
The following table describes the encrypted payment request parameters:
Key | REST | Format | CND | Description |
---|---|---|---|---|
MandateID | "payment": {"directDebit": { "mandate": {"mandateId"= "..." }}} | ans..35 | C | for SEPA: SEPA mandate number (compulsory in the case of SEPA) should be unique, is not case-sensitive Permissible characters: numbers 0-9, upper case letters A-Z, lower case letters a-z, apostrophe, colon, question mark, comma, full stop, plus sign, minus sign, forward slash, left and right bracket |
DtOfSgntr | "payment": {"directDebit": { "mandate": {"dateOfSignature"= "..." }}} | ans..10 | O | for SEPA: Date of issuing the mandate in the format DD.MM.YYYY (obligatory when transferring the MandateID) |
PBAN | "payment": {"directDebit": { "account": {"pseudoBankNumber"= "..." }}} | ans..27 | O | for SEPA: PseudoBankNumber. The last three digits are identical to the last three digits of the IBAN number |
OrderDesc | "order": {"description[0]": "..."} | ans..384 | M | Description of purchased goods, unit prices etc. The first 27 characters appear on the customer-account statement. You can view the full data in Computop Analytics. |
RefNr | "referenceNumber": "..." | ns..30 | O | Merchant’s unique reference number When using auto-mandate (filling-in of MandateID with TransID or RefNr) the permitted character set is that of the MandateID parameter. |
CustomerID | "billing": {"consumer": { "consumerId": "..." }} | ans..30 | M | Customer number at the merchant |
DateOfRegistration | "accountInfo": {"creationDate": "..."} | dttm8 | O | Customer since in the format YYYYMMDD |
CustomerClassification | ans..20 | O | (business / private) | |
"billing": {"contactInfo": { "email": "..." }} | ans..80 | O | E-mail address | |
DateOfBirth | dttm8 | O | Date of birth in the format YYYYMMDD | |
bdSalutation | "billing": {"consumer": { "salutation": "..." }} | ans...4 | O | Salutation of the invoicing address |
bdFirstName | "billing": {"consumer": { "firstName": "..." }} | ans..30 | M | First name of the invoicing address |
bdLastName | "billing": {"consumer": { "lastName": "..." }} | ans..30 | M | Last name of the invoicing address |
bdStreet | "billing": {"addressInfo": { "addressLine1": {"street"= "..." }}} | a..50 | M | Street name of the invoicing address |
bdStreetNr | "billing": {"addressInfo": { "addressLine1": {"streetNumber"= "..." }}} | ans..5 | M | Street number of the invoicing address |
bdCountryCode | "billing": {"addressInfo": { "country": {"A2"= "..." }}} | a2 | O | Country code in the invoicing address, 2 characters according to ISO 3166 |
bdZip | "billing": {"addressInfo": { "postalCode": "..." }} | n..5 | M | Postcode of the invoicing address |
bdCity | "billing": {"addressInfo": { "city": "..." }} | a..32 | M | Town or city of the invoicing address |
bdPhone | "billing": {"contactInfo": { "phone": "..." }} | ans..15 | O | Phone number in the invoicing address |
bdFax | "billing": {"contactInfo": { "fax": "..." }} | ans..20 | O | Fax number of the invoicing address |
bdMaidenName | "billing": {"consumer": { "maidenName": "..." }} | ans..30 | O | Maiden name of the invoicing address |
UseBillingData | a..3 | O | Is the invoicing address to be used as the delivery address? <Yes> or <No>. If <Yes> no parameters are transferred for the delivery address, if <No> they are obligatory. Standard=Yes | |
sdSalutation | "shipping": {"consumer": { "salutation": "..." }} | ans...4 | O | Salutation in the delivery address |
sdFirstName | "shipping": {"consumer": { "firstName": "..." }} | ans..30 | O | First name in the delivery address |
sdLastName | "shipping": {"consumer": { "lastName": "..." }} | ans..30 | O | Last name in the delivery address |
sdStreet | "shipping": {"addressInfo": { "addressLine1": {"street"= "..." }}} | a..50 | O | Street in the delivery address |
sdStreetNr | "shipping": {"addressInfo": { "addressLine1": {"streetNumber"= "..." }}} | ans..5 | O | Street number of the delivery address |
sdCountryCode | "shipping": {"addressInfo": { "country": {"A2"= "..." }}} | a2 | O | Country code for the delivery address, 2 characters according to ISO 3166 |
sdZip | "shipping": {"addressInfo": { "postalCode": "..." }} | n..5 | O | Postcode in the delivery address |
sdCity | "shipping": {"addressInfo": { "city": "..." }} | a..50 | O | Town/city in the delivery address |
RegularCustomerIndicator | a..5 | O | Regular customer (true / false) | |
ShoppingBasket | ans..1024 | O | Customer order information (prices each in the smallest currency unit): - invoice number / order number - total net price, numerical - total gross price - net shipping costs - gross shipping costs - net discount - gross discount <;> separates the fields in the shopping basket Example: InvoiceNumber;TotalNetPrice;TotalGrossPrice;NetShippingCosts;GrossShippingCosts;NetDiscount;GrossDiscount | |
ArticleList | "order": {"items": "..."} | ans..2048 | C | Mandatory if shopping basket is transmitted: Shopping basket of the customer: - article description (ans—50) - quantity - net article price - gross article price Note on the structure of the article list: <;> separates fields in the article data set Each article is transferred as a complete article data set: ArticleDescription;Quantity; ArticleName; NetArticlePrice;GrossArticlePrice + ArtcleDescription;Quantity;ArticleName;NetArticlePrice;GrossArticlePrice |
Additional parameters for direct debit payments via socket connection for the connection InterCard
The following table describes the result parameters with which the Computop Paygate responds to your system pls. be prepared to receive additional parameters at any time and do not check the order of parameters the key (e.g. mid, RefNr) should not be checked case-sentive
Key | REST | Format | CND | Description |
---|---|---|---|---|
refnr | "referenceNumber": "..." | ns..30 | O | Merchant’s unique reference number |
ErrorText | ??? | ans..128 | O | Error text from InterCard. Notice: Is returned only if Status=FAILED. Use is possible only in agreement with Computop Helpdesk. |
CodeExt | ??? | n3 | O | Error code from InterCard. Notice: Is returned only if Status=FAILED. Use is possible only in agreement with Computop Helpdesk. |
Additional response parameters for direct debit payments via socket connection for the InterCard connection
PPRO
Besides the general parameters described above for the connection PPRO to direct debit, the following parameters are to be transmitted via server-to-server connection.
Notice: Please remind that the standard parameter OrderDesc will not be forwarded with PPRO.
The following table describes the encrypted payment request parameters:
Key | REST | Format | CND | Description |
---|---|---|---|---|
MandateID | "payment": {"directDebit": { "mandate": {"mandateId"= "..." }}} | ans..35 | M | for SEPA: SEPA mandate number (compulsory in the case of SEPA) should be unique, is not case-sensitive Permissible characters: numbers 0-9, upper case letters A-Z, lower case letters a-z, apostrophe, colon, question mark, comma, full stop, plus sign, minus sign, forward slash, left and right bracket |
DtOfSgntr | "payment": {"directDebit": { "mandate": {"dateOfSignature"= "..." }}} | ans..10 | O | for SEPA: Date of issuing the mandate in the format DD.MM.YYYY (obligatory when transferring the MandateID) |
MdtSeqType | "payment": {"directDebit": { "mandate": {"mandateSequenceType"= "..." }}} | ans..4 | O | for SEPA: Indicates whether the direct debit is a first, recurring, one-off or final direct debit. Permissible values: FRST, RCUR, OOFF, FNAL Standard: OOFF (single direct debit) |
MandateURL | "payment": {"directDebit": { "mandate": {"mandateUrl"= "..." }}} | ans..512 | C | Valid URL pointing to the SEPA mandate, needs to be accessible by PPRO risk and compliance department. Mandatory in case of MdtSeqType = OOFF or FRST |
"billing": {"contactInfo": { "email": "..." }} | ans..100 | M | E-Mail address of account holder | |
AddrCountryCode | "billing": {"addressInfo": { "country": {"A2"= "..." }}} | a2 | M | Two characters country code according to ISO 3166 |
Additional parameters for direct debit payments via socket connection for the connection PPRO
Capture / Credit / Reversal
Capture
Captures are possible via a Server-to-Server connection. To perform a capture via a Server-to-Server connection please use the following URL:
https://www.computop-paygate.com/capture.aspx |
Notice: Separate captures are not possible with the PPRO connection because all transactions are carried out directly as sale transactions.
Notice: For security reasons, Computop Paygate rejects all payment requests with formatting errors. Therefore, please use the correct data type for each parameter. The following table describes the encrypted payment request parameters:
Key | REST | Format | CND | Description |
---|---|---|---|---|
BasicAuth.Username | ans..30 | M | MerchantID, assigned by Computop. Additionally this parameter has to be passed in plain language too. | |
PayID | "paymentId": "..." | an32 | M | ID assigned by Paygate for the payment to be captured |
TransID | "transactionId": "..." | ans..64 | M | ID assigned by Merchant for the payment process to be captured |
not used | an64 | M | Hash Message Authentication Code (HMAC) with SHA-256 algorithm. Details can be found here: | |
Amount | "amount": { "value": ...} | n..10 | M | Amount in the smallest currency unit (e.g. EUR Cent). Please contact the Computop Helpdesk, if you want to capture amounts <100 (smallest currency unit). |
Currency | "amount": { "currency": "..."} | a3 | M | Currency, three digits DIN / ISO 4217, e.g. EUR, USD, GBP. Please find an overview here: A1 Currency table |
refnr | "referenceNumber": "..." | ns..30 | O | Merchant’s unique reference number |
ReqId | "requestId": "..." | ans..32 | O | To avoid double payments or actions (e.g. by ETM), enter an alphanumeric value which identifies your transaction and may be assigned only once. If the transaction or action is submitted again with the same ReqID, Computop Paygate will not carry out the payment or new action, but will just return the status of the original transaction or action. Please note that the Computop Paygate must have a finalized transaction status for the first initial action (authentication/authorisation). This does not apply to 3-D Secure authentications that are terminated by a timeout. The 3-D Secure Timeout status does not count as a completed status in which the ReqID functionality on Paygate does not take effect. Submissions with identical ReqID for an open status will be processed regularly. Notice: Please note that a ReqID is only valid for 12 month, then it gets deleted at the Paygate. |
MandateID | "payment": {"directDebit": { "mandateId": "..." }} | ans..35 | O | for SEPA: SEPA mandate number (compulsory in the case of SEPA) should be unique, is not case-sensitive Permissible characters: numbers 0-9, upper case letters A-Z, lower case letters a-z, apostrophe, colon, question mark, comma, full stop, plus sign, minus sign, forward slash, left and right bracket |
DtOfSgntr | "payment": {"directDebit": { "dateOfSignature": "..." }} | ans..10 | O | for SEPA: Date of issuing the mandate in the format DD.MM.YYYY (obligatory when transferring the MandateID) |
Parameters for captures of direct debit payments
The following table describes the result parameters with which the Computop Paygate responds to your system pls. be prepared to receive additional parameters at any time and do not check the order of parameters the key (e.g. mid, RefNr) should not be checked case-sentive
Key | REST | Format | CND | Description |
---|---|---|---|---|
"merchantId": "..." | ans..30 | M | MerchantID, assigned by Computop | |
PayID | "paymentId": "..." | an32 | M | ID assigned by Paygate for the payment, e.g. for referencing in batch files as well as for capture or credit request. |
XID | "xId": "..." | an32 | M | ID for all single transactions (authorisation, capture, credit note) for one payment assigned by Paygate |
TransID | "transactionId": "..." | ans..64 | M | TransactionID provided by you which should be unique for each payment |
Status | a..50 | M | OK (URLSuccess) or FAILED (URLFailure) | |
Description | "description": "..." | ans..1024 | M | Further details in the event that payment is rejected. Please do not use the Description but the Code parameter for the transaction status analysis! |
Code | "code": ... | n8 | M | Error code according to Paygate Response Codes (A4 Error codes) |
refnr | "referenceNumber": "..." | ns..30 | O | Merchant’s unique reference number |
Response parameters for captures of direct debit payments
Credit with reference
Credits (refunds) are possible via a Server-to-Server connection. Paygate permits credits which relate to a capture previously activated by Paygate and allows merchants to carry out credits without a reference transaction. This section describes the processing of credits with reference transactions. If you refer to a capture for a Credit, the amount of the Credit is limited to the amount of the previous capture.
To carry out a credit with a reference transaction, please use the following URL:
https://www.computop-paygate.com/credit.aspx |
Notice: For security reasons, Computop Paygate rejects all payment requests with formatting errors. Therefore, please use the correct data type for each parameter. The following table describes the encrypted payment request parameters:
Key | REST | Format | CND | Description |
---|---|---|---|---|
BasicAuth.Username | ans..30 | M | MerchantID, assigned by Computop. Additionally this parameter has to be passed in plain language too. | |
PayID | "paymentId": "..." | an32 | M | ID assigned by Paygate for the payment to be credited |
TransID | "transactionId": "..." | ans..64 | M | ID assigned by Merchant for the payment process to be credited |
not used | an64 | M | Hash Message Authentication Code (HMAC) with SHA-256 algorithm. Details can be found here: | |
RefNr | "referenceNumber": "..." | ns..30 | C | not with EVO: Merchant’s unique reference number |
Amount | "amount": { "value": ...} | n..10 | M | Amount in the smallest currency unit (e.g. EUR Cent). Please contact the Computop Helpdesk, if you want to capture amounts <100 (smallest currency unit). |
Currency | "amount": { "currency": "..."} | a3 | M | Currency, three digits DIN / ISO 4217, e.g. EUR, USD, GBP. Please find an overview here: A1 Currency table |
ReqId | "requestId": "..." | ans..32 | O | To avoid double payments or actions (e.g. by ETM), enter an alphanumeric value which identifies your transaction and may be assigned only once. If the transaction or action is submitted again with the same ReqID, Computop Paygate will not carry out the payment or new action, but will just return the status of the original transaction or action. Please note that the Computop Paygate must have a finalized transaction status for the first initial action (authentication/authorisation). This does not apply to 3-D Secure authentications that are terminated by a timeout. The 3-D Secure Timeout status does not count as a completed status in which the ReqID functionality on Paygate does not take effect. Submissions with identical ReqID for an open status will be processed regularly. Notice: Please note that a ReqID is only valid for 12 month, then it gets deleted at the Paygate. |
Parameters for credits of direct debit payments
The following table describes the result parameters with which the Computop Paygate responds to your system pls. be prepared to receive additional parameters at any time and do not check the order of parameters the key (e.g. mid, RefNr) should not be checked case-sentive
Key | REST | Format | CND | Description |
---|---|---|---|---|
"merchantId": "..." | ans..30 | M | MerchantID, assigned by Computop | |
PayID | "paymentId": "..." | an32 | M | ID assigned by Paygate for the payment to be credited |
XID | "xId": "..." | an32 | M | ID for all single transactions (authorisation, capture, credit note) for one payment assigned by Paygate |
TransID | "transactionId": "..." | ans..64 | M | TransactionID provided by you which should be unique for each payment |
Status | a..50 | M | OK (URLSuccess) or FAILED (URLFailure) | |
Description | "description": "..." | ans..1024 | M | Further details in the event that payment is rejected. Please do not use the Description but the Code parameter for the transaction status analysis! |
Code | "code": ... | n8 | M | Error code according to Paygate Response Codes (A4 Error codes) |
RefNr | "referenceNumber": "..." | ns..30 | C | not with EVO: Merchant’s unique reference number |
Credit without reference
Paygate can carry out Credits which do not relate to a previous capture. In this case the credit must be transferred to Paygate as a completely new payment transaction. Please contact the Computop Helpdesk for help in using the described additional functions.
Notice: Please note that credits without reference to a previous capture generate higher costs with your Acquiring Bank. If you are frequently unable to make reference to the capture you should agree this with your Acquiring Bank.
Notice: Credit without reference is only possible with a direct debit connection.
To carry out a Credit without a reference transaction via a Server-to-Server connection, please use the following URL:
https://www.computop-paygate.com/eddcreditex.aspx |
Notice: For security reasons, Computop Paygate rejects all payment requests with formatting errors. Therefore, please use the correct data type for each parameter. The following table describes the encrypted payment request parameters:
The following table describes the result parameters with which the Computop Paygate responds to your system pls. be prepared to receive additional parameters at any time and do not check the order of parameters the key (e.g. mid, RefNr) should not be checked case-sentive
Response parameters for credits of direct debit payments without reference
Credit without reference for Intercard
Paygate can carry out Credits which do not relate to a previous capture. In this case the credit must be transferred to Paygate as a completely new payment transaction. Please contact the Computop Helpdesk for help in using the described additional functions.
Notice: Please note that credits without reference to a previous capture generate higher costs with your Acquiring Bank. If you are frequently unable to make reference to the capture you should agree this with your Acquiring Bank.
To carry out a Credit without a reference transaction via a Server-to-Server connection, please use the following URL:
https://www.computop-paygate.com/eddcreditex.aspx |
Notice: For security reasons, Computop Paygate rejects all payment requests with formatting errors. Therefore, please use the correct data type for each parameter. The following table describes the encrypted payment request parameters:
Parameters for credits of direct debit payments without reference with Intercard
The following table describes the result parameters with which the Computop Paygate responds to your system pls. be prepared to receive additional parameters at any time and do not check the order of parameters the key (e.g. mid, RefNr) should not be checked case-sentive
Response parameters for credits of direct debit payments without reference with Intercard
Reversal
Reversals are possible via a Server-to-Server connection. In order to cancel a direct debit payment via a server-to-server communication, please use the following URL:
https://www.computop-paygate.com/reverse.aspx |
Notice: Reverse.aspx does not only reverse authorisations, but any LAST TRANSACTION STAGE! If the last transaction was a capture, Reverse.aspx initiates the reverse, e.g. a credit. Therefore, the utmost caution is urged. Use is at your own risk. We recommend checking the transaction status with Inquire.aspx before using Reverse.aspx.
Notice: Cancellation is only possible with a direct debit connection.
Notice: For security reasons, Computop Paygate rejects all payment requests with formatting errors. Therefore, please use the correct data type for each parameter. The following table describes the encrypted payment request parameters:
Key | REST | Format | CND | Description |
---|---|---|---|---|
BasicAuth.Username | ans..30 | M | MerchantID, assigned by Computop. Additionally this parameter has to be passed in plain language too. | |
PayID | "paymentId": "..." | an32 | M | ID assigned by Paygate for the payment to be reversed |
TransID | "transactionId": "..." | ans..64 | M | ID assigned by Merchant for the payment process to be reversed |
Amount | "amount": { "value": ...} | n..10 | M | Amount in the smallest currency unit (e.g. EUR Cent). Please contact the Computop Helpdesk, if you want to capture amounts <100 (smallest currency unit). |
Currency | "amount": { "currency": "..."} | a3 | M | Currency, three digits DIN / ISO 4217, e.g. EUR, USD, GBP. Please find an overview here: A1 Currency table |
not used | an64 | M | Hash Message Authentication Code (HMAC) with SHA-256 algorithm. Details can be found here: | |
ReqId | "requestId": "..." | ans..32 | O | To avoid double payments or actions (e.g. by ETM), enter an alphanumeric value which identifies your transaction and may be assigned only once. If the transaction or action is submitted again with the same ReqID, Computop Paygate will not carry out the payment or new action, but will just return the status of the original transaction or action. Please note that the Computop Paygate must have a finalized transaction status for the first initial action (authentication/authorisation). This does not apply to 3-D Secure authentications that are terminated by a timeout. The 3-D Secure Timeout status does not count as a completed status in which the ReqID functionality on Paygate does not take effect. Submissions with identical ReqID for an open status will be processed regularly. Notice: Please note that a ReqID is only valid for 12 month, then it gets deleted at the Paygate. |
Parameters for reversals of direct debit payments
The following table describes the result parameters with which the Computop Paygate responds to your system pls. be prepared to receive additional parameters at any time and do not check the order of parameters the key (e.g. mid, RefNr) should not be checked case-sentive
Key | REST | Format | CND | Description |
---|---|---|---|---|
"merchantId": "..." | ans..30 | M | MerchantID, assigned by Computop | |
PayID | "paymentId": "..." | an32 | M | ID assigned by Paygate for the payment, e.g. for referencing in batch files as well as for capture or credit request. |
XID | "xId": "..." | an32 | M | ID for all single transactions (authorisation, capture, credit note) for one payment assigned by Paygate |
TransID | "transactionId": "..." | ans..64 | M | TransactionID provided by you which should be unique for each payment |
Status | a..50 | M | OK (URLSuccess) or FAILED (URLFailure) | |
Description | "description": "..." | ans..1024 | M | Further details in the event that payment is rejected. Please do not use the Description but the Code parameter for the transaction status analysis! |
Code | "code": ... | n8 | M | Error code according to Paygate Response Codes (A4 Error codes) |
Response parameters for reversals of direct debit payments
Batch processing via the interface
Basic information about using Batch files and about their structure can be found in the Batch Manager manual. Within batch processing not alle functions are available which are usually available for the online interface.
Batch calls and answers
This section describes the parameters which must be transferred within the data set (Record) for executing a direct debit payment and which information can be found within the response file about the payment status.
The possible actions per batch depend on the respective connection. In the case of direct connections all transactions including credit without reference are possible while cancellation and credit without reference are not possible with EVO Payment, InterCard and PPRO connections. In the case of PPRO the transactions are also purely sales transactions and so only sales and credit is possible here.
Following table gives an overview of all batch versions that are possible for a specific action and their specialities:
Description of the possible batch versions
The structure for a direct debit payment within a Batch file to be submitted is the following:
HEAD,<MerchantID>,<Date>,<Version> EDD,Authorize,<Amount>,<Currency>,<TransID>,(<RefNr>,)<AccOwner>,<IBAN>,<BIC>,<AccBankName>,<OrderDesc1>,<OrderDesc2>,(<MandateID>,<DtOfSgntr>,<MdtSeqType>) EDD,Sale,<Amount>,<Currency>,<TransID>,(<RefNr>,)<AccOwner>,<IBAN>,<BIC>,<AccBankName>,<OrderDesc1>,<OrderDesc2>,(<MandateID>,<DtOfSgntr>,<MdtSeqType>) EDD,Capture,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,(<MandateID>,<DtOfSgntr>,<MdtSeqType>) EDD,Credit,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID> EDD,CreditEx,<Amount>,<Currency>,<TransID>,(<RefNr>,)<AccOwner>,<IBAN>,<BIC>,<AccBankName>,<OrderDesc1>,<OrderDesc2> EDD,Reverse,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID> FOOT,<CountRecords>,<SumAmount>
Example for Master MID function:
HEAD,[Master]MerchantID,Date,2.x Type,Action,[Slave]MID,Amount,Currency,TransID,Data (depends on Action) FOOT,CountRecords,SumAmount
The following table describes the individual fields and values used within the data set (record) in the batch file:
Description of fields within the record for Batch files
The record area within the response file for Batch transactions looks as follows:
HEAD,<MerchantID>,<Date>,<Version> EDD,Authorize,<Amount>,<Currency>,<TransID>,(<RefNr>,)<AccOwner>,<IBAN>,<BIC>,<AccBankName>,<OrderDesc1>,<OrderDesc2>,(<MandateID>,<DtOfSgntr>,<MdtSeqType>,)<Status>,<Code> EDD,Sale,<Amount>,<Currency>,<TransID>,(<RefNr>,)<AccOwner>,<IBAN>,<BIC>,<AccBankName>,<OrderDesc1>,<OrderDesc2>,(<MandateID>,<DtOfSgntr>,<MdtSeqType>,)<Status>,<Code> EDD,Capture,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,(<MandateID>,<DtOfSgntr>,<MdtSeqType>,)<Status>,<Code> EDD,Credit,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,<Status>,<Code> EDD,CreditEx,<Amount>,<Currency>,<TransID>,(<RefNr>,)<AccOwner>,<IBAN>,<BIC>,<AccBankName>,<OrderDesc1>,<OrderDesc2>,<Status>,<Code> EDD,Reverse,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,<Status>,<Code> FOOT,<CountRecords>,<SumAmount>
The following table describes the response parameters which the Batch Manager saves in the Record area for each transaction (standard parameters not explained here, such as <TransID> or <RefNR> and request parameters are returned unchanged and correspond to the call as specified before):
Description of result parameters within the record for Batch files