B0.1 | initial version | |
B0.2 | 2022-08-05 |
General Notes
Purpose
The FMB allows you to create new customers/accounts, new merchants and new paytypes in Paygate. All entities can be created at once or step by step. Data edit and deletion functions are planned but not completed yet, therefore please closely review your content before submitting. You can add contacts to an existing account, you can add additional merchants and you can add additional paytypes. You can send the data via file transfer (sFTP) or https. In the response (file) you will receive all relevant data back, which have been added or created.
Supported Paytypes and Acquirers/Payment Schemes
Paytype (Paytype name(s)) | Acquirer/Scheme |
Credit Cards ECOM (CC, CC_3D) | all acquirers which are integrated via GICC |
GooglePay (GOOGLEPAY) | all acquirers which are integrated via GICC |
Paymorrow (PAYMORROW) | Paymorrow |
Paypal (PAYPAL) | Paypal |
Upload and Retrieval
You may up- and download a FMB file from Computop's sFTP server or use Computop's XML Webservice (https://www.computop-paygate.com/fmb/v1/fmb.aspx). For configuration and account credentials of the sFTP account please contact Computop Merchant Services (setup sFTP account).
If you use the XML Webservice you will get a http 200 (OK) if the file can be validated. The final response will be sent back to you via https to a pre-defined URL. The XML Webservice requires basic access authentication.
File structure
Each FMB file is structured into three parts:
account/customer data (company data, contacts)
merchant data (general technical data for a certain merchant)
paytype data (technical data for a specific paytypes)
1<FMB>2 ...3 <Accounts>4 <Account>5 ...6 <Contacts>7 <Contact></Contact>8 <Contact></Contact>9 ...10 </Contacts>11 <Merchants>12 <Merchant>13 <PayTypes>14 <PayType1></PayType1>15 <PayType2></PayType2>16 ...17 </PayTypes>18 </Merchant>19 <Merchant>...</Merchant>20 ...21 </Merchants>22 </Account>23 </Accounts>24</FMB>;Notation of data types
Format | Description |
a | Alphabetic characters A-Z, a-z |
n | Numeric digits, 0-9 |
an | Alphanumeric characters A-Z, a-z, 0-9 |
ans | Alphanumeric and special characters |
ns | Numeric and special characters |
3 | Fixed length data element of 3 characters |
..17 | Variable length data element up to a maximum of 17 characters. The minimum length is defined by the specific requirements of the data element itself, but shall be at least 1 character. |
tstp | Timestamp, format: <DD.MM.YYYY hh:mm:ss> |
File name convention
[Status]FMB[Date][Counter][PartnerID].xml
Key | Format | Description |
Status | a1 | T | W | P ( Transfered | Wait | Processed )The name of a new file begins with the letter T to indicate the file was originally transmitted by you.After the transmission and during the processing the file is prefixed W for Waiting. Paygate marks the processed file with the initial letter P for processed. |
Date | n8 | YYYYMMDD |
Counter | n3 | 001 |
PartnerID | ans..30 | fmb_partner_id |
File name example: WFMB20220304001fmb_partner_id.xml
XML structure
All values (also mandatory values) can be pre-defined by Paygate (see below "Bundles"). Each pre-defined value can be overruled by the xml file.
Key | Format | CND | Description |
Version | ns5 | m | File version
|
ID | ans..30 | m | Your partner ID provided by Computop. Starts always with "FMB_".<ID>FMB_0000123456</ID> |
AccessKey | ans32 | m | Your access key to ensure you are allowed to create new accounts/merchants. Provided by Computop (e.g. a9b2be6b-116b-92b9-82e9-e3c7e05a). |
Accounts | - | m | Collection of accounts |
+ Account | - | m | Company object with account data. A company/account can have several Paygate MID (<Merchants>). |
++ name | an..40 | m | Company's name. If name is longer than 40 char add k_name2_c. |
++ k_name2_c | ans..40 | o | Company's name. If name is longer than 40 chars. |
ans..255 | o | Company's email address | |
++ phone_office | ans..100 | o | Company's phone number (E.164 represantation (+353 1 8812345)) |
++ phone_fax | ans..100 | o | Company's fax number (E.164 represantation (+353 1 8812345)) |
++ website | ans..255 | o | Company's website |
++ ? | an..6 | m | Company's VAT id. Presently there is no CRM parameter for the VAT ID (UID). |
++ industry_main_c | enum | o | Company's industry. Possible values:
|
++ industry_detail_c | enum | o | see below "list of industry details" |
++ acc_pre_lan_dom_c | a..2 | m | Account's preferred language. e.g. EN, DE see below "list of supported languages" |
++ billing_address_street | ans..255 | m | Company's address street |
++ billing_address_street2_c | ans..255 | o | Company's address street cont. |
++ billing_address_city | a..100 | m | Company's address city |
++ billing_address_state | a..255 | m | Company's address state |
++ billing_address_postalcode | ans..20 | m | Company's address postal code |
++ billing_address_country | a..255 | m | Company's address country |
++ Contacts | - | m | |
+++ Contact | - | m | |
++++ salutation | enum | m | Contact's salutation (0001 = male / 0002 = female) |
++++ first_name | ans..128 | m | Contact's first name |
++++ last_name | ans..128 | m | Contact's last name |
ans..255 | m | Contact's email address. Credentials will be sent to this address. Mandatory if contact is "address for credentials" (see <Role>). | |
++++ phone_work | ans..32 | m | Contact's work phone number (E.164 represantation (+353 1 8812345)) |
++++ phone_mobile | ans..32 | m | Contact's mobile phone number (E.164 represantation (+353 1 8812345)). Mandatory if contact is "address for credentials" (see <Role>). |
++++ sbp_prefered_language_c | a2 | Contact's preferred language. see below "list of supported languages" | |
++++ primary_address_street | ans..128 | m | Contact's address street |
++++ primary_address_street2 | ans..255 | o | Contact's address street cont. |
++++ primary_address_city | a..128 | m | Contact's address city |
++++ primary_address_state | a..64 | m | Contact's address state |
++++ primary_address_postalcode | ans..12 | m | Contact's address postal code |
++++ primary_address_country | a..64 | m | Contact's address country |
++++ entscheider_mfa_c | a2 | o | hierarchy.values: MG (management), LT (head of) or SB (office) |
++++ abteilung_mfa_c | a2 | o | department.values
|
++++ Role | - | m | |
+++++ zugang | enum | o | Is this contact "address for credentials" (yes/no)? |
++ Merchants | m | ||
+++ Merchant | m | ||
++++ MerchantID | ans..30 | m | Requested MerchantID to be setup within Paygate. Unique for every merchant. No special characters except underscore “_” are allowed. |
++++ ShopURL | ans..255 | o | URL of merchant's webshop |
++++ MCC | ? | o | Merchant's MCC (Merchant Category Code), provided by acquirer or payment provider |
++++ TransIDAsRefNr | enum | o | If a RefNr is absent the TransID is used as RefNr (yes/no) |
++++ TransIdAsReqId | enum | o | If a RefNr is absent in AUTH or CREDITEX calls the TransID is used as ReqId (yes/no) |
++++ HasReconciliationFile | enum | o | Providing of Computop's settlement file CTSF (yes/no) |
++++ ReconciliationPayTypes | enum | o | Paytypes which should be included in CTSF, separated by ";". Supported CTSF paytypes:
|
++++ FtpEPA | enum | o | Providing of Computop's settlement file (CTSF) via sFTP (yes/no) |
++++ PayTypes | m | Supported paytypes:
see below | |
+++++ CC | - | o | see below |
++++++ ... | |||
+++++ PAYMORROW | - | o | see below |
++++++ ... |
example
1<?xml version="1.0" encoding="UTF-8"?>2<FMB xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">3 <Version>2.0</Version> 4 <ID>FMB_0000123456</ID>5 <AccessKey>a9b2be6b-116b-92b9-82e9-e3c7e05a</AccessKey>6 7 <Accounts>8 <Account>9
10 <name>AccountName</name>11 <billing_address_street>FMB Straße 1</billing_address_street>12 <billing_address_street2_c></billing_address_street2_c>13 <billing_address_postalcode>12345</billing_address_postalcode>14 <billing_address_state>FR</billing_address_state>15 <billing_address_city>Bamberg</billing_address_city>16 <billing_address_country>DE</billing_address_country>17 <email>info@fmbgmbh.com</email>18 <phone_office>+49 951 9800123</phone_office>19 <phone_fax>+49 951 9800321</phone_fax>20 <website>www.fmbgmbh.com</website>21 <industry1_main_c>TR</industry1_main_c>22 <industry1_detail_c>Airline</industry1_detail_c>23
24 <Contacts>25 <Contact>26 <salutation>M</salutation>27 <first_name>John</first_name>28 <last_name>Doe</last_name>29 <primary_address_street>FMB Straße 1</primary_address_street>30 <primary_address_street2></primary_address_street2>31 <primary_address_postalcode>96050</primary_address_postalcode>32 <primary_address_state>DE_09</primary_address_state>33 <primary_address_city>Bamberg</primary_address_city>34 <primary_address_country>DE</primary_address_country>35 <email>john.doe@fmbgmbh.com</email>36 <sbp_preferred_language_c>DE</sbp_preferred_language_c>37 <phone_work>+49 951 9800123</phone_work>38 <phone_mobile>+49 162 9800123</phone_mobile>39 <Role>40 <zugang>yes</zugang>41 </Role>42 </Contact>43 </Contacts>44
45 <Merchants>46 <Merchant>47 <MerchantID>AccountName</MerchantID> 48 <ShopURL>mywebsite.com</ShopURL>49 <PayTypes>50 <CC>51 ...52 </CC>53 </PayTypes>54 </Merchant>55 </Merchants>56
57 </Account>58 </Accounts>59</FMB>Bundles
If you have predefined set of parameters for a merchant or for a payment type you can use a bundle which contains all predefined parameters. Bundles are available for merchants and for payment types. If you use a bundle you have only to declare all parameters which are not already set by the bundle.
1<Merchant>2 <Bundles>3 <Bundle Type="Merchant">BundleName</Bundle>4 <Bundle Type="PayType">BundleName</Bundle>5 </Bundles> 6 <MerchantID>...7 <PayTypes>...8</Merchant>To set up a bundle please contact Computop Merchant Services.
PayTypes
CC
Key | Format | CND | Description |
CC | - | m | |
+ Priority | n2 | m | Specifies the priority of a paytype within its category |
+ TrxType | an | m | Transactions are submitted as ECOM or MOTO transactions (ECOM, MOTO) |
+ Stationary | an | m | ? |
+ SendTrackData | an | m | ? (yes/no) |
+ NotEnrolledAction | 3DS specific (SSL, DENY) | ||
+ Accept3D2x | 3DS specific (yes/no) | ||
+ PseudoCardNumber | an | m | Pseudo card number is generated. Return of parameters PCNr, CCBrand and CCExpiry in the URLSuccess/Notify and response (yes/no). |
+ PseudoCardNumberResponseEx | an | m | Pseudo card number as parameter in the case of URLSuccess, URLNotify, and in the response from paynow.aspx and direct.aspx. |
+ DenyPKNIfMethodIsClient | an | m | To protect Paygate against the misuse of pseudo card numbers this parameter declines transactions if pseudo card number is submitted via form. |
+ DenyRealCCNr | an | m | If a real card number is submitted via batch or server-to-server, Paygate declines the transaction. Only pseudo card numbers will be accepted. |
+ CreditEx | an | m | Credits can be done without referencing a previous captured transaction |
+ AutomatedReversalForSinglePartialCapture | ? | ||
+ ExtCCResponse | an | m | ? (yes/no) |
+ Approvalcode | an | m | The merchant receives the GICC ApprovalCode (BMP 38) parameter in the authorisation response (yes/no) |
+ ExternalResponseCode | an | m | The merchant receives the GICC ResponseCode (BMP 39) parameter in the authorisation response (yes/no) |
+ CodeExt | an | m | In case of an error, the merchant receives the error information from acquirer in the response message (yes/no) |
+ OriginalCode | ? | ||
+ OriginalExtended | ? | ||
+ ? | an | m | Value from CHDesc parameter is transmitted to the Acquirer (yes/no). |
+ AcceptorName | an | m | ? |
+ AcceptorCityName | an | m | ? |
+ AcceptorCountryCode | an | m | ? |
+ NewTrxTypeDataFlow | an | m | ? (yes/no) |
+ FraudMgmt | an | m | Activates Paygate’s fraud prevention (No, Email, Deny). Email = If the origin differs (card origin and white/ black list or transfer to payment call-up (“Zone” parameter)) the merchant is informed by email. The transaction is not declined based on the discrepancy. The recipient email address is configured across payment types in Paygate. Deny = If the origin differs (card origin and white/ black list or transfer to payment call-up (“Zone” parameter)) the transaction is declined. The merchant is not informed by email. |
+ CcFraudAmount | an | m | |
+ UnknownAccept | an | m | The payment is made even if country of origin is unknown. An email warning is sent to the merchant. (yes/no) |
+ ZoneDefault | ans100 | m | List of preferred (or not-preferred countries. The different countries must be given as 3-digit numerical codes. BlackList: !276,!840 OR WhiteList: 276,840 |
+ OnlyVISAMC | an | m | BIN-Check is processed only for VISA and MasterCard |
... | |||
+ Brands | m | ||
++ Brand | m | VISA, MasterCard | |
+++ Active | an | m | Specifies whether brand is active or not active (yes/no) |
+++ CVC | (yes/no) | ||
+++ AVS | (yes/no) | ||
+++ PosEntryMode | (MANUAL, MAGNETREAD, CHIP, ECOMMERCE) | ||
+++ TxTypeDefault | (PreAuth, Auth) | ||
+++ SubmissionType | ? | ||
+++ Capture | Brand is active for real-time postings (yes/no) | ||
+++ CaptureDefault | Defines the default setting for postings. MANUAL: The posting must be instigated by the merchant. AUTO: The posting is instigated automatically. | ||
+++ CaptureMinValue | n | ||
+++ CaptureMethod | (Online, UDK, ECF, 4CC, VTI, TMO, TMH, BTA, DISH23) | ||
+++ UdkCaptureOnVoiceAuth | (yes/no) | ||
+++ Acquirer | |||
+++ MCC | |||
+++ AuthIncrementAllowed | (yes/no) | ||
+++ IgnoreAmountOverride | (yes/no) | ||
+++ MultiplePartialCapture | (yes/no) | ||
+++ Sale | (yes/no) | ||
+++ UdkCaptureOnFailedAuth | (yes/no) | ||
+++ CFT | (yes/no) | ||
+++ CFT_VU | |||
+++ CreditOverride | (yes/no) | ||
+++ PaymentFacilitator | (yes/no) | ||
+++ ValidLocationIdMandatory | (yes/no) | ||
+++ SingleTapSupport | (yes/no) | ||
+++ TerminalConfigurationList | m | ||
++++ TerminalConfiguration | m | ||
+++++ Currency | an | m | ISO 4217 A3 currency code or MULTI |
+++++ ContractId | an | m | Is assigned by the acquirer (also known as VU or VP number) |
+++++ TerminalId | an | m | Is assigned by the acquirer |
example
1<CC>2 <Active>yes</Active>3 ...4 <Brands>5 <VISA>6 <TerminalConfigurationList>7 <TerminalConfiguration>8 <Currency>MULTI</Currency>9 <ContractId>123456789</ContractId>10 </TerminalConfiguration>11 </TerminalConfigurationList>12 </VISA>13 <MasterCard>14 <TerminalConfigurationList>15 <TerminalConfiguration>16 <Currency>MULTI</Currency>17 <ContractId>987654321</ContractId>18 </TerminalConfiguration>19 </TerminalConfigurationList>20 </MasterCard>21 </Brands>22</CC>;CC_3D
3DS specific parameters, additional to CC parameters.
Key | Format | CND | Description |
CC_3D | - | m | |
+ Active | an | m | Specifies whether paytype is active or not active (yes/no) |
... |
example
1<CC_3D>2 <Priority>1</Priority>3 ...4 <Brands>5 <VISA>...</VISA>6 <MasterCard>...</MasterCard>7 </Brands>8</CC_3D>;GooglePay
Key | Format | CND | Description |
GOOGLEPAY | - | m | |
+ Active | an | m | Specifies whether paytype is active or not active (yes/no) |
+ Priority | n2 | m | Specifies the priority of a paytype within its category |
+ TestAccount | an | m | Transactions are routed to a downstream test system (yes/no) |
... |
example
1<GOOGLEPAY>...</GOOGLEPAY>;Paymorrow
Key | Format | CND | Description |
PAYMORROW | - | m | |
+ Active | an | m | Specifies whether paytype is active or not active (yes/no) |
+ Priority | n2 | m | Specifies the priority of a paytype within its category |
+ TestAccount | an | m | Transactions are routed to a downstream test system (yes/no) |
+ PaymorrowMID | an | m | Is assigned by Paymorrow |
+ OperationMode | an | m | ? (VALIDATE, RISK_CHECK, RISK_PRECHECK) |
+ Capture | an | m | Defines whether posting can take place or not (yes/no) |
+ CaptureMinValue | n | m | Defines the minimum value for postings |
+ ResponseExtended | an | m | Determines whether the error text from Paymorrow is returned towards the merchant in the Paygate response or not (yes/no) |
example
1<PAYMORROW>2 <Active>yes</Active>3 <Priority>1</Priority>4
5 <TestAccount>no</TestAccount>6 <PaymorrowMID>PaymorrowMID</PaymorrowMID>7 <OperationMode>RISK_CHECK</OperationMode>8
9 <Capture>yes</Capture>10 <CaptureMinValue>99</CaptureMinValue>11
12 <ResponseExtended>yes</ResponseExtended>13</PAYMORROW>;Paypal
Key | Format | CND | Description |
PAYPAL | - | m | |
+ Active | an | m | Specifies whether paytype is active or not active (yes/no) |
+ Priority | n2 | m | Specifies the priority of a paytype within its category |
+ TestAccount | an | m | Transactions are routed to a downstream test system (yes/no) |
+ ClientID | m | ||
+ ClientSecret | m | ||
+ AuthOnly | an | m | Determines whether one Auth (no Order) should be performed (yes/no) |
+ Capture | an | m | Defines whether posting can take place or not (yes/no) |
+ CaptureDefault | m | Defines the default setting for postings.MANUAL: The posting must be instigated by the merchant.AUTO: The posting is instigated automatically. | |
+ DirectCap | an | m | Determines whether an ORDER can be posted without authorization (yes/no) |
... |
example
1<PAYPAL>...</PAYPAL>;PayType
Key | Format | CND | Description |
PAYTYPE | - | m | |
example
1<PAYTYPE>...</PAYTYPE>;XML response
Depending on the newly created entity (account, contact or merchant) you get following response parameters:
entity | response parameter | XML tag | comment |
account <Accounts> <Account> | ID | <k_sap_customerid_c> | ID of the newly created account which you will need to change/update the account |
contact <Accounts> <Account> <Contacts> <Contact> | ID | <k_sap_parnrid_c> | ID of the newly created contact which you will need to change/update the contact |
merchant <Accounts> <Account> <Merchants> <Merchant> | Blowfish key | <Information>.<BlowfishKey> | to encrypt your requests |
HMAC key | <Information>.<HMACKey> | to sign your requests |
If the data could not processed succesfully you will get an error message at the end of the xml structure where the error occurred.
1...2<Contact>3 ...4 <Errors>5 <Error>6 <Code>202</Code>7 <Description>The value of the field "salutation" is invalid!</Description>8 </Error>9 </Errors>10</Contact>Updates
To update an entity (account, contact or merchant) you have to provide the unique identifier(s) of that entity and all data which should be changed.
The unique identifiers are:
entity | XML tree | unique identifier |
account | <Accounts <Account> | <k_sap_customerid_c><name><k_name2_c> |
contact | <Accounts> <Account> <Contacts> <Contact> | <k_sap_parnrid_c> |
merchant | <Accounts> <Account> <Merchants> <Merchant> | <MerchantID> |
If you want to add a contact or a merchant to an existing account you have to provide the effected account by the unique identifiers for that account.
Appendix
List of industry details
industry main | industry detail value |
Entertainment | Adult |
Entertainment | Dating Platform |
Entertainment | Digital Content |
Entertainment | Gambling |
Entertainment | Gaming |
Entertainment | Ticketing |
Financial Institutions | Aquiring Bank |
Financial Institutions | Banks / Issuer |
Financial Institutions | Inkasso Services |
Financial Institutions | Insurance |
Financial Institutions | Investor |
Financial Institutions | Payment Scheme |
Organisations | Association |
Organisations | Education |
Organisations | eGouvernment |
Organisations | Non-Profit-Organisation |
Retail | Animals / Plants |
Retail | Automotive |
Retail | Drug Store / Discounter |
Retail | DIY Store |
Retail | Consumer Electronic |
Retail | Food Store |
Retail | Footwear |
Retail | Lifestyle / Accessoires |
Retail | Manufacturing / B2B |
Retail | Pharmacie / HealthCare |
Retail | Photo finishing |
Retail | Textiles |
Retail | Universal |
Services | AI / KI |
Services | Consulting |
Services | Debitor Services |
Services | eCommerce Agencies |
Services | ERP-Provider |
Services | Fulfilment |
Services | HealthCare |
Services | Internet / IT / IoT |
Services | Logistic |
Services | Marketing |
Services | Marketplace |
Services | Mobile Services |
Services | Mobility |
Services | Payment Service Provider |
Services | Processing |
Services | Real Estate |
Services | Risk Services |
Services | Shop-Provider |
Services | Shop Integrator |
Services | Social Media |
Travel | Travel Agency |
Travel | Airline |
Travel | Consolidator |
Travel | Cruises |
Travel | Hotel & Ressorts |
Travel | Organizer |
List of supported languages
value | language |
DE | German |
EN | English |
FR | French |
ZH | Chinese |
ZF | Chinese trad. |
SR | Serbian |
TH | Thai |
KO | Korean |
RO | Romanian |
SL | Slovenian |
HR | Croatian |
MS | Malaysian |
UK | Ukrainian |
ET | Estonian |
AR | Arabic |
HE | Hebrew |
CS | Czech |
EL | Greek |
HU | Hungarian |
IT | Italian |
JA | Japanese |
DA | Danish |
PL | Polish |
NL | Dutch |
NO | Norwegian |
PT | Portuguese |
SK | Slovakian |
RU | Russian |
ES | Spanish |
TR | Turkish |
FI | Finnish |
SV | Swedish |
BG | Bulgarian |
LT | Lithuanian |
LV | Latvian |
Z1 | Customer reserve |
AF | Afrikaans |
IS | Icelandic |
CA | Catalan |
SH | Serbian (Latin) |
ID | Indonesian |