Payment via Bargeld/Rechnung

1 About Barzahlen

1.1 General information about Barzahlen

This manual describes configuring and using the First Cash Solution interface for Barzahlen:

Barzahlen is aimed at customers in Germany who do not want to enter sensitive data online, and those who do not use credit cards or online banking. An alternative to cash on delivery, Barzahlen is quicker and less expensive. Customers pay the amount to an associated retailer, on the basis of a payment form; the retailer transmits a payment confirmation in real time to the online shop so that the goods can be dispatched quickly.

Barzahlen is a payment provider for cash transactions. Customers use cash to pay for online purchases, travel bookings or diverse invoices. It is also possible to pay by cash to one’s own giro account.

The customer receives a barcode via email, SMS or Post to process the payment. This barcode is then scanned at the checkout of an individual partner branch and the customer pays with cash or another permitted payment method. The supplier is notified about payment in real time by the checkout system once the customer has paid. The payment service is carried out by Greensill Bank AG from Bremen.

Currently cash payments are made throughout Germany in over 10,000 branches of the REWE markets, dm-drogerie markets, PENNY markets, real,- supermarkets, Telekom Shops, mobilcom-debitel branches and with Budni chemists and in branches of the Dr. Eckert group.

Cash payments offer users who prefer cash, the option to buy, gamble or to book travel online without entering sensitive financial data. This cash option, means it is the only payment system available to every German without restriction. 68% of Germans over 18 years have no credit card (Deutsche Bundesbank 2015) and 51% do not use online banking (Bundesverband deutscher Banken 2014).

InfoTyp
With Barzahlen online purchases in Germany at over 10,000 branches of retail partners such as real,- can be paid for in cash. The additional customer potential encompasses amongst other things those Internet users who do not yet purchase online.Payments by Cash-In / Bill

Further information can be found on the webpage of Barzahlen (https://www.barzahlen.de/de/).

1.2 Process flow chart

Barzahlen process flow

2 Configuration for Barzahlen

Merchants need to initially setup an account with Barzahlen on their webpage: https://controlcenter.barzahlen.de/#/account/signin

You start configuration once you have logged on.

In the cash payment Control Center you need to enter the following URLs under Settings / Divisions (https://controlcenter.barzahlen.de/#/settings/divisions).

Notification URL: https://www.computop-paygate.com/BarzahlenComplete.aspx

Sandbox notification URL: https://www.computop-paygate.com/BarzahlenComplete.aspx

You must send the division-ID together with the payment key to the First Cash Solution Support at support@1cs.de, in order to activate this payment method within your MID on the 1cs Online Payment System.

3 1cs Online Payment System interface

3.1 Definitions

3.1.1 Data formats

FormatDescription
aalphabetical
asalphabetical with special characters
nnumeric
analphanumeric
ansalphanumeric with special characters
nsnumeric with special characters
boolboolean expression (true or false)
3fixed length with 3 digits/characters
..3variable length with maximum 3 digits/characters
enumenumeration of allowed values
dttmISODateTime (YYYY-MM-DDThh:mm:ss)

3.1.2 Abbreviations

AbbreviationDescription
CNDcondition
Mmandatory
Ooptional
Cconditional

Notice: Please note that the names of parameters can be returned in upper or lower case.

3.2 Call of interface for Bezahlen

To carry out a Barzahlen payment via a Server-to-Server connection, call the following URL:

https://www.computop-paygate.com/barzahlen.aspx

Notice: For security reasons, the 1cs Online Payment System 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:

ParameterFormatCNDDescription
MerchantIDans..30MMerchantID, assigned by First Cash Solution. Additionally this parameter has to be passed in plain language too.
TransIDans..64MTransactionID which should be unique for each payment
RefNrns..30OUnique reference number Only ASCII characters are allowed. Special characters such as (“umlauts”, …) are not permitted and may have to be replaced by ASCII characters (e.g. ü → ue, é → e, …).
Amountn..10MAmount in the smallest currency unit (e.g. EUR Cent) Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).
Currencya3MCurrency, three digits DIN / ISO 4217 e.g. EUR, USD, GBP. Please find an overview here: Currency table
MACan64MHash Message Authentication Code (HMAC) with SHA-256 algorithm. Details can be found here: HMAC Authentication (Request) HMAC Authentication (Notify)
URLNotifyans..256MComplete URL which the 1cs Online Payment System 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. General notes: We recommend using the parameter “response=encrypt” to receive an encrypted response from 1cs Online Payment system
However, fraudster may just copy the encrypted DATA-element which are sent to URLFailure and send the DATA to URLSuccess/URLNotify. Therefore ensure to check the “code”-value which indicates success/failure of the action. Only a result of “code=00000000” should be considered successful.
UserDataans..1024OIf specified upon call, the 1cs Online Payment System forwards the parameter with the payment result to the shop.
OrderDescans..512MDescription of purchased goods, unit prices etc. The first 50 characters appear in the merchant’s settlement file. You can view the full data in the list within First Cash Solution Analytics.
ReqIDans..32OTo avoid double payments, enter an alphanumeric value which identifies your transaction and may be assigned only once. If the transaction is submitted again with the same ReqID, the 1cs Online Payment System will not carry out the payment, but will just return the status of the original transaction or action.
Please note that the 1cs online Payment System 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 1cs OPS 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 1cs Online Payment System.
CustomerIDans..80CCustomer ID or customer number. If this value is not transmitted, the email address must be transmitted.
Emailans..80CEmail address of the customer. If this value is not transmitted, the CustomerID must be transmitted.
Streetans..60OCustomer’s street and street number to find the nearest points of acceptance
ZIPans..10OCustomer’s post code to find the nearest points of acceptance
Cityans..50OCustomer’s city/town to find the nearest points of acceptance
CountryCodea2OCountry code according to ISO 3166. The default is DE.
Languagea5O5-digit language code which impacts the language of the payment form and the response parameters. The default is de-DE
Expirationn..4OValidity of payment form in days. The default validity period of the payment form can also be provided within the Barzahlen backend.
MobileNoans..50OCustomer’s mobile phone number with country code. e.g. +49151123456789
Plainans..50OA 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” in1cs Online Payment System and therefore protected against manipulation.
Customans..1024O“Custom”-parameter is added to the request data before encryption and is part of encrypted “Data” in1cs Online Payment System request. By this they are protected against manipulation by a consumer.  The Custom-value is added to the 1cs Online Payment System 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.

Parameters for payments with Barzahlen

The following table gives the result parameters with which the 1cs Online Payment System 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. MerchantId, RefNr) should not be checked case-sentive
ParameterFormatCNDDescription
MIDans..30MMerchantID, assigned by First Cash Solution
PayIDan32MID assigned by the 1cs Online Payment System for the payment, e.g. for referencing in batch files.
XIDan32MID for all single transactions (authorisation, capture, credit note) for one payment assigned by the 1cs Online Payment System
TransIDans..64MMerchant’s transaction number
RefNrns..30OUnique reference number Only ASCII characters are allowed. Special characters such as (“umlauts”, …) are not permitted and may have to be replaced by ASCII characters (e.g. ü → ue, é → e, …).
Statusa..50MAUTHORIZE_REQUEST or FAILED
Descriptionans..1024MFurther details in the event that payment is rejected. Please do not use the Description but the Code parameter for the transaction status analysis!
Coden8MError code according to the 1cs Online Payment System Response Codes Excel file
CodeExtn..10ODetailed error code from Barzahlen. Notice: Is returned only if Status=FAILED. Use is possible only in agreement with First Cash Solution support.
ErrorTextans..256ODetailed error message from Barzahlen. Notice: Is returned only if Status=FAILED. Use is possible only in agreement with First Cash Solution support.
UserDataans..1024OIf specified at request, the 1cs Online Payment System forwards the parameter with the payment result to the shop
TokenExtans..255MToken to display the Barzahlen checkout page
TransactionIDans..50MID for identification of payment form
ExpirationNoticedttmMExpiration date of the payment form
Plainans..50OA 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 1cs Online Payment System and therefore protected against manipulation.
Customans..1024O“Custom”-parameter is added to the request data before encryption and is part of encrypted “Data” in 1cs OPS request. By this they are protected against manipulation by a consumer.  The Custom-value is added to the 1cs Online Payment System 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.

Response parameters for payments with Barzahlen


The following table gives the result parameters which the 1cs Online Payment System transfers to your URLNotify:

ParameterFormatCNDDescription
MIDans..30MMerchantID, assigned by First Cash Solution
PayIDan32MID assigned by the 1cs Online Payment System for the payment, e.g. for referencing in batch files as well as for capture or credit request.
XIDan32MID for all single transactions (authorisation, capture, credit note) for one payment assigned by the 1cs Online Payment System
TransIDans..64MTransactionID provided by you which should be unique for each payment
Statusa..50MOK (URLSuccess) or FAILED (URLFailure)
Descriptionans..1024MFurther details in the event that payment is rejected. Please do not use the Description but the Code parameter for the transaction status analysis!
Coden8MError code according to the 1cs Online Payment System Response Codes Excel file
CodeExtn..10ODetailed error code from Barzahlen. Notice: Is returned only if Status=FAILED. Use is possible only in agreement with First Cash Solution support.
ErrorTextans..1024ODetailed error message from Barzahlen. Notice: Is returned only if Status=FAILED. Use is possible only in agreement with First Cash Solution support.
TransactionIDans..50MID for identification of payment form
ExpirationNoticedttmMExpiration date of the payment form
Plainans..50OA 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 the 1cs Online Payment System and therefore protected against manipulation.
Customans..1024Oom”-parameter is added to the request data before encryption and is part of encrypted “Data” in the 1cs Online Payment System request. By this they are protected against manipulation by a consumer.  The Custom-value is added to the 1cs Online Payment System 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.

Response parameters for URLNotify with Barzahlen

The merchant has to implement the following code on his page in order to display the Barzahlen checkout page.

<!-- Barzahlen Checkout -->
<script src=https://cdn.barzahlen.de/js/v2/checkout.js
        class="bz-checkout"
        data-token="CHECKOUT_TOKEN">
</script>
<!-- End Barzahlen Checkout -->

The value of the Checkout_Token is transferred by First Cash Solution in the TokenExt parameter.

The src value must contain the following values for test and productive transactions:

Test: https://cdn.barzahlen.de/js/v2/checkout-sandbox.js\
Productive: https://cdn.barzahlen.de/js/v2/checkout.js

3.3 Updating a payment

To update a Barzahlen payment via a Server-to-Server connection, call the following URL:

https://www.computop-paygate.com/barzahlenUpdate.aspx

Notice: For security reasons, the 1cs Online Payment System rejects all payment requests with formatting errors. Therefore please use the correct data type for each parameter.

ParameterFormatCNDDescription
MerchantIDans..30MMerchantID, assigned by First Cash Solution. Additionally this parameter has to be passed in plain language too.
PayIDan32MID assigned by the 1cs Online Payment System for the payment, e.g. for referencing in batch files as well as for capture or credit request.
MACan64MHash Message Authentication Code (HMAC) with SHA-256 algorithm. Details can be found here: HMAC Authentication (Request) HMAC Authentication (Notify)
Resending a payment form
EventTokena1MR = Resend
DistributionTypeans..5ODelivery method of payment form for resending. Possible values: Email, Phone; default is Email. When resending a payment form for credits always an email is sent to the customer.
Updating a payment form
EventTokena1MU = Update
Amountn..10OCAmount in the smallest currency unit (e.g. EUR Cent) Not for credits.
MobileNoans..50OCCustomer’s new mobile telephone number Not for credits.
Emailans..255OCNew email address of the customer Not for credits
Expirationn..4ONew validity of payment form in days. Updating the validity of a payment form.

Parameters for updating a payment with Barzahlen

The following table describes the result parameters with which the 1cs online payment system responds to your system

  • be prepared to receive additional parameters at any time and do not check the order of parameters
  • the parameters (e.g. MerchantId, RefNr) should not be checked case-sentive
ParameterFormatCNDDescription
MIDans..30MMerchantID, assigned by First Cash Solution
PayIDan32MID assigned by the 1cs Online Payment System for the payment, e.g. for referencing in batch files.
XIDan32MID for all single transactions (authorisation, capture, credit note) for one payment assigned by the 1cs Online Payment System
TransIDans..64MMerchant’s transaction number
Statusa..50MOK or FAILED
Descriptionans..1024MFurther details in the event that payment is rejected. Please do not use the Description but the Code parameter for the transaction status analysis!
Coden8MError code according to the 1cs Online Payment System Response Codes Excel file (part of the software client from https://www.computop.com/us/downloads/)
CodeExtans..10ODetailed error code from Barzahlen. Notice: Is returned only if Status=FAILED. Use is possible only in agreement with First Cash Solution support.
ErrorTextans..1024ODetailed error message from Barzahlen. Notice: Is returned only if Status=FAILED. Use is possible only in agreement with First Cash Solution support.
TransactionIDans..50MID for identification of payment form
ExpirationNoticedttmMExpiration date of the payment form

Response parameters for updating of Barzahlen

3.4 Credit with reference

Credits (refunds) are possible via a Server-to-Server connection. 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, the 1cs Online Payment System 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:

ParameterFormatCNDDescription
MerchantIDans..30MMerchantID, assigned by First Cash Solution. Additionally this parameter has to be passed in plain language too.
PayIDan32MID assigned by the 1cs Online Payment System for the payment, e.g. for referencing in batch files as well as for capture or credit request.
TransIDans..64MTransactionID which should be unique for each payment
Amountn..10MAmount in the smallest currency unit (e.g. EUR Cent) Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).
Currencya3MCurrency code, three digits DIN / ISO 4217, e.g. EUR, USD, GBP. Please find an overview here: Currency table
MACan64MHash Message Authentication Code (HMAC) with SHA-256 algorithm. Details can be found here: HMAC Authentication (Request) HMAC Authentication (Notify)
OrderDescans..768ODescription of refunded goods, unit prices, merchant’s comment etc.
ReqIDans..32OTo avoid double payments, enter an alphanumeric value which identifies your transaction and may be assigned only once. If the transaction is submitted again with the same ReqID, 1cs OPS will not carry out the payment, but will just return the status of the original transaction. Please note that the 1cs Online Payment System 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 1cs OPS 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 1cs Online Payment System.

Parameters for credits of Barzahlen payments


The following table gives the result parameters with which the 1cs Online Payment System 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. MerchantId, RefNr) should not be checked case-sentive
ParameterFormatCNDDescription
MIDans..30MCMerchantID, assigned by First Cash Solution
PayIDan32MID assigned by the 1cs Online Payment System for the payment, e.g. for referencing in batch files as well as for capture or credit request.
XIDan32MID for all single transactions (authorisation, capture, credit note) for one payment assigned by the 1cs Online Payment System
TransIDans..64MMerchant’s transaction number
Statusa..50MOK (URLSuccess) or FAILED (URLFailure)
Descriptionans..1024MFurther details in the event that payment is rejected. Please do not use the Description but the Code parameter for the transaction status analysis!
Coden8MError code according to the 1cs Online Payment System Response Codes Excel file

Result parameters for credits of Barzahlen payments

3.5 Reversal

In order to cancel a Barzahlen payment via a server-to-server communication, please go to 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: For security reasons, the 1cs Online Payment System rejects all payment requests with formatting errors. Therefore please use the correct data type for each parameter.

The following tables describe the encrypted payment request parameters:

ParameterFormatCNDDescription
MerchantIDans..30MMerchantID, assigned by First Cash Solution. Additionally this parameter has to be passed in plain language too.
PayIDan32MID assigned by 1cs Online Payment System ID assigned by the 1cs Online Payment System for the payment, e.g. for referencing in batch files as well as for capture or credit request.
TransIDans..64MTransactionID which should be unique for each payment
Amountn..10MAmount in the smallest currency unit (e.g. EUR Cent) Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).
Currencya3MCurrency code, three digits DIN / ISO 4217, e.g. EUR, USD, GBP. Please find an overview here: A1 Currency table
MACan64MHash Message Authentication Code (HMAC) with SHA-256 algorithm. Details can be found here: HMAC Authentication (Request) HMAC Authentication (Notify)
ReqIDans..32OTo avoid double payments, enter an alphanumeric value which identifies your transaction and may be assigned only once. If the transaction is submitted again with the same ReqID, 1cs OPS will not carry out the payment, but will just return the status of the original transaction. Please note that the 1cs OPS 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 1cs Online Payment System 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 1cs Online Payment System.

Parameters for reversals of Barzahlen payments


The following table gives the result parameters with which the 1cs Online Payment System 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. MerchantId, RefNr) should not be checked case-sentive
ParameterFormatCNDDescription
MIDans..30MMerchantID, assigned by First Cash Solution
PayIDan32MID assigned by the 1cs Online Payment System for the payment, e.g. for referencing in batch files as well as for capture or credit request.
XIDan32MID for all single transactions (authorisation, capture, credit note) for one payment assigned by the 1cs Online Payment System
TransIDans..64MTransactionID provided by you which should be unique for each payment
Statusa..50MOK (URLSuccess) or FAILED (URLFailure)
Descriptionans..1024MFurther details in the event that payment is rejected. Please do not use the Description but the Code parameter for the transaction status analysis!
Coden8MError code according to the 1cs Online Payment System Response Codes Excel file

Result parameters for reversals of Barzahlen payments

4 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.

This section describes the parameters which must be transferred within the data set (Record) for executing reversals or credits with Barzahlen and which information can be found within the response file about the payment status.

For Batch calls there must be considered batch versions, from which optional parameters depend. All version designations starting with „2.“ pertain calls for a group of enterprises. That means within a batch file for a particular MerchantID can be transferred transactions for other merchants with a separate Sub-MID.

Following table gives an overview of all batch versions that are possible for a specific action and their specialities:

ActionVersionDescription
Credit1.0 / 2.0Standard version without return of parameter Code
1.x / 2.xwith RefNr (valid for all versions other than 1.0)
Reverse1.0 / 2.0Standard version without return of parameter Code
1.x / 2x.with RefNr (valid for all versions other than 1.0)

Description of the possible batch versions

The structure for a Barzahlen payment within a Batch file to be submitted is the following:

HEAD,<MerchantID>,<Date>,<Version>

Barzahlen,Credit,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>

Barzahlen,Reverse,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>

FOOT,>CountRecords>, >SumAmount>

Example for Master MID Funktion:

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:

ParameterFormatCNDDescription
Typea..11MHEAD for Header, FOOT for Footer, Barzahlen for Barzahlen
Actiona..20MThe parameter Action defines the type of transaction: Credit Reverse (cancellation)
Amountn..10MAmount in the smallest currency unit (e.g. EUR Cent) Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).
Currencya3MCurrency code, three digits DIN / ISO 4217, e.g. EUR, USD, GBP. Please find an overview here: A1 Currency table
TransIDans..64MTransactionID provided by you which should be unique for each payment
RefNrns..30OMerchant´s unique reference number Only ASCII characters are allowed. Special characters such as (“umlauts”, …) are not permitted and may have to be replaced by ASCII characters (e.g. ü → ue, é → e, …).
PayIDan32MID assigned by 1cs Online Payment System for this transaction

Description of fields within the record for Batch files

The record area within the response file for Batch transactions looks the following way:

HEAD,<MerchantID>,<Date>,<Version>

Barzahlen,Credit,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,<Status>,<Code>

Barzahlen,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):

ParameterFormatCNDDescription
Actiona..20MThe parameter Action defines the type of transaction: Credit Reverse (cancellation)
PayIDan32MID for this transaction given by the 1cs Online Payment System
Statusa..50MOK or FAILED
Coden8MError code according to the 1cs Online Payment System Response Codes Excel file (part of the software client from https://www.computop.com/us/downloads/)

Description of result parameters within the record for Batch files