1 About PayPal

Logo

InfoTyp
The 1cs Online Payment System processes PayPal payments, which offers you worldwide merchant protection and a potential of 425 million international customers in more than 200 countries. PayPal is one of the most popular online payment methods and it can be used in e- and m-Commerce.Payments by eWallet

1.1 General information about PayPal

PayPal has remained at the forefront of the digital payment revolution for more than 20 years. By leveraging technology to make financial services and commerce more convenient, affordable, and secure, the PayPal platform is empowering more than 425 million costomers and merchants in more than 200 markets to join and thrive in the global economy.

Customers in Germany can pay via direct debit, giropay or credit card (American Express, Diners Club, Discover, MasterCard, Visa). Members log into their PayPal account with their email address and a password during checkout and choose the preferred funding source – direct debit, credit card, PayPal credit (Pay Later) and, if applicable purchase on account or by instalment.

For more details visit https://www.paypal.com/.

1.1.1 PayPal Shortcut (former “Express Checkout Shortcut (ECS)”)

The 1cs Online Payment System offers the PayPal Shortcut to shorten the order process: Your customer does not need to enter any address data but rather click on Checkout with PayPal in the shopping cart area, log on and select the invoice- and delivery address retained by PayPal. The 1cs Online Payment System then sends the delivery address as a result parameter back to your shop.

1.1.2 Buyers and vendors are protected

PayPal offers buyers and merchants extensive buyer/vendor protection in case “Pay with PayPal” is used as payment method (this excludes alternative payment methods). Buyers are able to claim money back from PayPal in the event of non-fulfilment of a contract of sale. With address verification and PayPal seller protection PayPal removes the merchant of the risk of payment failures in the case of direct debit payments, German credit card payments and unjustified customer complaints. Vendor protection is always linked to PayPal rules and conditions. PayPal risk management with buyer protection and address verification is provided to you via the 1cs Online Payment System.

1.1.3 Payment online globally

PayPal is particularly beneficial for overseas customer acquisition. The 1cs Online Payment System supports all currencies and markets offered by PayPal. In many countries PayPal offers customers typical payment methods for their country. Customers abroad can often use typical payment methods such as prepaid cards in Italy or debit cards in the UK. Integrating PayPal into your shop provides the option to present your customers several payment methods at once. Of course you are also free to just present “Pay with PayPal” only.

1.1.4 Advantages of Orders V2 (“PayPal Checkout”)

Orders V2 has the following advantages against PayPal NVP and SOAP.

  • Orders V2 is the basis for any future development of products and featured by PayPal. PayPal will not develop any new feature/extend existing functionality based on PayPal NVP and SOAP anymore.
  • Orders V2 adheres to the latest compliance standards.
  • Orders V2 offers smoother checkout process using a lightbox (by using JS SDK, so-called “PayPal Mini Browser”), a window overlay that appears on top of the merchant’s online shop page. This allows the customer to stay on merchant’s page and to not lose focus.

Further information can be found on the webpage of PayPal (https://www.paypal.com).

1.2 Important information

Please note that, unlike our currency table, the currencies HUF (Hungarian ‒ Forints), JPY (Japanese Yen) and TWD (Republic of China ‒ Taiwan-Dollars) must be given without decimal places.

Example: To transfer 100.00 HUF one enters the amount=100.

This exception applies only for the PayPal payment method. For more details refer to https://developer.paypal.com/reference/currency-codes/.

If you want to use the MassPay functionality, please contact the 1cs Online Payment System to activate this function for you.

1.3 Process flow

PayPal process flow

2 Configuration for PayPal

2.1 PayPal Sandbox test account

If you prefer to test the integration before going Live, and you do not have PayPal Sandbox test account, you should create PayPal Sandbox test account as first step.

1. Login to https://developer.paypal.com/ and go to “Testing Tools” => “Sandbox Accounts”

2. Click “Create account” and choose “Business (Merchant Account)” & Germany as “Country / Region”.

3. Choose “View/Edit account”

4. Take “Email ID” and “System Generated Password” and use them as Login/Pass for Sandbox on the next step.

2.2 Grant permissions to Computop Paygate for transaction processing

In order to allow the 1cs Online Payment System processing transactions on your behalf, corresponding permissions should be granted to Computop.

Permissions can be granted to the 1cs Online Payment System under your PayPal account. Please use the following links to login into your PayPal account and follow the steps.

Sign up for PayPal Sandbox

Sign up for PayPal Production

2.3 Send PayerID to Computop Merchant Services

To complete merchant setup on the 1cs OPS side, you should send PayerID to the 1cs Online Payment System (OPS) Merchant Services. 

PayerID can be found under your PayPal account by https://paypal.com/myaccount/settings/ , as follows. PayerID uniquely identifies merchant in PayPal. The identifier is the same for Sandbox and Production environments.

3 PayPal Smart Button

3.1 Setting up the PayPal Button

The client-side implementation of PayPal is realized using the PayPal JavaScript SDK.

Depending on your setup, you can use the following script or prepare you own, using the official PayPal JavaScript SDK documentation  https://developer.paypal.com/sdk/js/.


While you are testing in sandbox, you can use client-id that matches your test app from PayPal web developer portal. When going live, replace this with the live client-id.

<!DOCTYPE html>

<html lang=”en”>

<head>

<meta charset=”utf-8″/>

</head>

<body>

    <!– Set up a container element for the button –>

    <div id=”paypal-button-container”></div>

    <!– Include the PayPal JavaScript SDK –>

    <!– Replace <PayerID> with your value, available under your PayPal account –>

    <!– Replace <Currency> with the currency which should be used, e.g., EUR –>

    <!– When going live, replace client-id with the live client-id provided by Computop –>

    <!– When going live, replace data-partner-attribution-id with the live data-partner-attribution-id provided by Computop –>

    <script type=”text/javascript” src=”https://www.paypal.com/sdk/js?client-id=ARCsDK7xBFxa5pnGxk8qvB0STB07fyi_yHDRrb5al6gxahj73Pxg9X2l7onP9J2IN-LqcVJojys94FLK&merchant-id=<PayerID>&currency=<Currency>&disable-funding=giropay,sofort,sepa,card&intent=capture” data-partner-attribution-id=”Computop_PSP_PCP_Test”></script>

    <!– Initialize and show PayPal button –>

    <script type=”text/javascript”>

    let mid = “YOUR MERCHANTID”;

    let len = “LEN OF UNENCRYPTED BLOWFISH STRING”;

    let data = “BLOWFISH ENCRYPTED STRING”;

    let payid;

        if (len != ” && data != ”) {

            // Set the request parameter MerchantID, Len and Data

            const params = new URLSearchParams({

                MerchantID: mid,

                Len: len,

                Data: data

            });

            // Render the PayPal button into #paypal-button-container

            paypal.Buttons({

                // Call your server to set up the transaction

                createOrder: function(data, actions) {

                    return fetch(‘https://www.computop-paygate.com/ExternalServices/paypalorders.aspx’, {

                        method: ‘POST’,

                        body: params

                    }).then(function (res) {

                        return res.text();

                    }).then(function(orderData) {

                        let qData = new URLSearchParams(orderData)

                        payid = qData.get(‘PayID’);

                        return qData.get(‘orderid’);

                    });

                },

                // Call cbPayPal.aspx for continue sequence

                onApprove: function (data, actions) {

                    var rd = “MerchantId=” + mid + “&PayId=” + payid + “&OrderId=” + data.orderid;

                    // Build an invisible form and directly submit it

                    const form = document.createElement(‘form’);

                    form.method = ‘POST’;

                    form.action = ‘https://www.computop-paygate.com/cbPayPal.aspx?rd=’ + window.btoa(rd);

                    form.style.display = ‘none’;

                    // Add form to body

                    document.body.appendChild(form);

                    // Submit form

                    form.submit();

                }

            }).render(‘#paypal-button-container’);

        }

    </script>

</body>

</html>

3.2 Aktivierung der PayPal-Schaltfläche Später Bezahlen

The above piece of code contains the following line. In this line it will be possible to define which funding sources will be allowed in the web shop.

<script type=”text/javascript” src=”https://www.paypal.com/sdk/js?client-id=sb&currency=EUR&disable-funding=giropay,sofort,sepa,card&intent=capture“></script>

The line corresponded to the following button. By default (using the above line) only PayPal button will be available.

If it is required to have PayPal Pay Later Button in addition to standard PayPal button, the button can be enabled by using parameter enable-funding like follows.

<script type=”text/javascript” src=”https://www.paypal.com/sdk/js?client-id=sb&currency=EUR&disable-funding=giropay,sofort,sepa,card&enable-funding=paylater“></script>

As a result the following two buttons will appear.

Full list of values for disable-funding and enable-funding can be found by the link below.

https://developer.paypal.com/docs/regional/th/checkout/reference/customize-sdk/#components

3.2.1 Parameter intent

The above piece of code contains the following line.

<script type=”text/javascript” src=”https://www.paypal.com/sdk/js?client-id=sb&currency=EUR&disable-funding=giropay,sofort,sepa,card&intent=capture“></script>

Paygate offers 3 possible options for a payment.

  • SALE (capture=Auto) (when Paygate automatically sends Capture for a payment; this is the default scenario matching most merchant’s needs)
  • AUTHORIZE (capture=Manual + txtype=Auth) (when Capture should be sent later by the merchant as a separate API call)
  • ORDER (capture=Manual + txtype=Order) (when Authorize and Capture should be sent later by the merchant as separate API calls)

Parameter intent in the above line must be in synch with these options.

If SALE option is used, parameters intent must be set to “capture” as below.

<script type=”text/javascript” src=”https://www.paypal.com/sdk/js?client-id=sb&currency=EUR&disable-funding=giropay,sofort,sepa,card&intent=capture“></script>

If AUTHORIZE or ORDER option is used, parameters intent must be set to “authorize” as below.

<script type=”text/javascript” src=”https://www.paypal.com/sdk/js?client-id=sb&currency=EUR&disable-funding=giropay,sofort,sepa,card&intent=authorize“></script>

It is important to set proper value for parameter intent, otherwise an error appears.

3.3 PayPal Button Style


The above piece of code for PayPal Button does not have any style-related parameters. This piece of code assumes default PayPal style for the button as follows.

PayPal allows to define different PayPal Button style by using parameters shape, color, layout and label. Full list of style-related parameters can be find by the following link.

https://developer.paypal.com/docs/checkout/advanced/style-guide/

4 1cs Online Payment System interface

4.1 Definitionen

4.1.1 Data formats

FormatDescription
aalphabetisch
asalphabetisch mit Sonderzeichen
nnumerisch
analphanumerisch
ansalphanumerisch mit Sonderzeichen
nsnumerisch mit Sonderzeichen
boolBool’scher Ausdruck (true oder false)
3feste Länge mit 3 Stellen/Zeichen
..3variable Länge mit maximal 3 Stellen/Zeichen
enumAufzählung erlaubter Werte
dttmISODateTime (JJJJ-MM-TTThh:mm:ss)

4.1.2 Abbreviations

AbkürzungBeschreibungKommentar
CNDcondition 
MmandatoryIf a parameter is mandatory, then it must be present
OoptionalIf a parameter is optional, then it can be present, but it is not required
CconditionalIf a parameter is conditional, then there is a conditional rule which specifies whether it is mandatory or optional

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

4.2 Calling the interface

Use the following URL and parameters to initiate a PayPal payment in the 1cs Online Payment System form:

https://www.computop-paygate.com/ExternalServices/paypalorders.aspx

With this URL Paygate supports two different PayPal methods: One the one hand you can offer PayPal quite normally as an additional payment method for the conclusion of a sale. Otherwise you can use PayPal Express Checkout Shortcut, which connects the customers from the shopping cart directly to PayPal, where they can then select their delivery and invoicing address. The customer saves having to re-enter address details and you, as the merchant, enjoy PayPal vendor protection.

The 1cs Online Payment System also supports the separation of authorisation and capture for PayPal Express Checkout. You can set parameters via the 1cs Online Payment System to control whether the amount on the customer’s PayPal account should be blocked or captured immediately.

Notice: One of the following conditions must be fulfilled to enable you to benefit from PayPal seller protection. Either the customer uses PayPal Express Checkout and selects a delivery address which it has saved previously with PayPal, which the 1cs Online Payment System transmits to your shop. Or your shop transmits the already known delivery address to PayPal. Seller protection applies only if the goods have been supplied to this specified address. There may be no more than 3 days between the authorisation of the amount in the customer’s PayPal account and capture if you wish to benefit from seller protection. The 1cs Online Payment System therefore supports several alternatives for the processing of PayPal payments: we shall be happy to advise you about the implementation of PayPal.

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:

KeyFormatCNDDescription
MerchantIDans..30MMerchantID, assigned by the 1cs Online Payment System. Additionally this parameter has to be passed in plain language too.
TransIDans..64MTransactionID provided by you which should be unique for each payment
RefNr  Merchant’s unique reference number
Amountns..30OAmount in the smallest currency unit (e.g. EUR Cent). Please contact the 1cs Online Payment System, if you want to capture amounts <100 (smallest currency unit). If OrderDesc(n) is used, there must be valid: Amount=ItemTotal+TaxTotal+SHAmount.
Currencya3MCurrency, three digits DIN / ISO 4217, e.g. EUR, USD, GBP. Please find an overview here: Currency table. Please note the global PayPal supported currencies at https://developer.paypal.com/api/rest/reference/currency-codes/.
MAC
an64MHash Message Authentication Code (HMAC) with SHA-256 algorithm. Details can be found here: HMAC Authentication (Request) HMAC Authentication (Notify)
Capturea..6OAuto or Manual: determines whether the requested amount is settled immediately or at a later stage. Important Note: Please contact the 1cs Online Payment System for Manual, to discuss different possibilities of usage.
TxTypeans..5CObligatory for Capture=Manual: Transaction type with possible values Order or Auth. For initial Billing Agreement transaction (Billing Agreement creation) TxType=BAID. In case TxType=BAID, all parameters except the following are optional. RefNr MUST be unique for each Billing Agreement creation transaction. MerchantID TransID RefNr Amount Currency OrderDesc TxType URLSuccess URLFailure URLNotify MAC
PayPalMethodenumOThe “shortcut” value selects the changed transaction procedure which takes the customer back to the shop for payment confirmation. You then need to call up the interface paypalcomplete.aspx to complete the sale.
RTFans1OReserved for future use
OrderDescans..127MDescription of purchased goods, unit prices etc. 
OrderDesc(n)ans..2048OCustomers shopping basket in the form: OrderDesc(n)=Name,Amount,Number,Quantity,Description,Tax OrderDesc2 to max. OrderDesc99 permissible For correct execution of displaying function all OrderDesc(n) Amounts must equal to the 1cs OPS parameter Amount.
TaxTotaln..10CMandatory, if +Tax is given in description of OrderDesc(n): Total amount of taxes of all single articles in the smallest currency unit (e.g. EUR Cent) = Sum(Tax*Number)
ItemTotaln..10CMandatory, if +tax is given in description of OrderDesc(n): Gross amount of all single articles in the smallest currency unit (e.g. EUR Cent) = Sum(Amount*Number)
ShAmountn..10CShipping costs in the smallest currency unit (e.g. EUR Cent). Can be used only in case ShAmount <> 0 and connection with parameters ItemTotal and TaxTotal.
URLSuccessans..256MComplete URL which calls up the 1cs Online Payment System 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 the 1cs Online Payment System and shop, please use the parameter UserData. Common notes: We recommend to use parameter “response=encrypt” to get an encrypted response by the 1cs Online Payment System
However, fraudster may just copy the encrypted DATA-element which are sent to URLFailure and send the DATA to URLSuccess. Therefore ensure to check the “code”-value which indicates success/failure of the action. Only a result of “code=00000000” should be considered successful.
URLFailureans..256MComplete URL which calls up the 1cs Online Payment System 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 the 1cs OPS and shop, please use the parameter UserData. Common notes: We recommend to use parameter “response=encrypt” to get an encrypted response by the 1cs OPS
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.
Responsea7OStatus response sent by Paygate to URLSuccess and URLFailure, should be encrypted. For this purpose, transmit Response=encrypt parameter.
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. Common notes: We recommend to use parameter “response=encrypt” to get an encrypted response by the 1cs OPS
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 at request, the 1cs Online Payment System forwards the parameter with the payment result to the shop.
ReqIDans..32OTo 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, the 1cs Online Payment System 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 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 the 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.
Accountans..128OFor managing multiple PayPal accounts, Merchant account: ID or e-Mail address for which the request should be submitted to PayPal
LandingPageans..OControls how the PayPal page is displayed. Possible values are “Login” or “Billing”.
Languagean2OLanguage: AU, DE, FR, IT, GB, ES, US; default DE
FirstNameans..50OC(obligatory for USA and Canada): Either the first name only or first and second name if a company name is used as a delivery address.
LastNameans..50OC(obligatory for USA and Canada): Surname or name of the company of the delivery address
AddrStreetans..100OC(obligatory for USA and Canada): Street in the delivery address
AddrStreet2ans..100O2. Street name in the delivery address that contains additional information e.g. packing station or similar. In order to receive this as a response parameter, it needs to be activated separately by the 1cs Online Payment System
AddrCityans..40OC(obligatory for USA and Canada): Town/city in the delivery address
AddrStateans..40OC(obligatory for USA and Canada): Federal state of the delivery address. The town submitted in AddrCity must be located in the given federal state, otherwise PayPal refused this payment. For possible values please refer to the PayPal-API-reference documentation.
AddrZipans..20OC(obligatory for USA and Canada): Postcode in the delivery address
AddrCountryCodean2OCountry code of the delivery country
Phonen..20OTelephone number
NoShippingn1OHandover NoShipping=1 prevents the delivery address registered with Paypal from being displayed. The 1cs Online Payment system also offers the option to permanently suppress the delivery address for you on your MID. Please note that the delivery address should only be suppressed in the case of digital goods, as the seller protection is also linked to this. Please contact the 1cs Online Payment System for this.

Parameters for PayPal payments

The following table gives the result parameters which the 1cs Online Payment System 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::

hinweis pls. be prepared to receive additional parameters at any time and do not check the order of parameters

hinweis the key (e.g. MerchantId, RefNr) should not be checked case-sentive

KeyFormatCNDDescription
MIDans..30MMerchantID, assigned by the 1cs Online Payment System
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, AUTHORIZE_REQUEST or Timeout (only if Capture=Manual) on the URLSuccess page or FAILED on the URLFailure page. AUTHORIZE_REQUEST – is returned actively only for request parameter “TxType=auth” or “PayPalMethod=shortcut”. When using TxType=auth or without TxType the final status is returned directly. Timeout – all open payments with status AUTHORIZE_REQUEST will be closed ~ 3hours later automatically and are reported as Timeout.
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 Response Codes
MACan64MHash Message Authentication Code (HMAC) with SHA-256 algorithm. Details can be found here: HMAC Authentication (Request) HMAC Authentication (Notify)
RefNrns..30OMerchant’s unique reference number
UserDataans..1024OIf specified at request, the 1cs Online Payment System forwards the parameter with the payment result to the shop.
CodeExtn..10OError code from PayPal if agreed with 1cs OPS Helpdesk
Nameans..32MFirst name and surname joined
FirstNameans..50MFirst name of payer (PayerInfo, may differ from the account name)
LastNameans..50MLast name of payer (PayerInfo, may differ from the account name)
E-Mailans..100MEmail address of the purchaser
AddrStreetans..100OStreet in the delivery address
AddrStreet2ans..100O2. Street name in the delivery address that contains additional information e.g. packing station or similar. In order to receive this as a response parameter, it needs to be activated separately by the 1cs OPS Helpdesk.
AddrCityans..40OTown/city in the delivery address
AddrStateans..40OFederal State in the delivery address
AddrZIPans..20OPostcode in the delivery address
AddrCountryCodean2OCountry code of the delivery country
Phonen..20OTelephone number
BillingsAgreementIDans..19OBilling Agreement ID which can be used for subsequent transactions, based on this Billing Agreement.
BillingNameans..32OFirst name and surname joined
BillingAddrStreetans..100OStreet name of the invoicing address lodged with PayPal
BillingAddrStreet2ans..100O2. Street name of the invoicing address lodged with PayPal that contains additional information e.g. packing station or similar. In order to receive this as a response parameter, it needs to be activated separately by the 1cs OPS Helpdesk.
BillingAddrCityans..40OTown/city name of the invoicing address saved with PayPal
BillingAddrStateans..40OFederal state of the invoicing address saved with PayPal
BillingAddrZIPans..20OPostcode of the invoicing address saved with PayPal
BillingAddrCountryCodean2OCountry code of the billing address
payerStatusan..10OStatus of buyer with possible values “verified” or “unverified”
InfoTextans..255MMessage to the merchant
PayerIDans..13O(if response is activated): Unique identification number of customer account at PayPal
GrossAmountan..9OFinal amount charged, including any shipping and taxes from your Merchant profile
FeeAmountan..9OPayPal fee amount charged for the transaction
SettleAmountan..9OAmount deposited in your PayPal account after a currency conversion
TaxAmountan..9OTax charged on the transaction
ExchangeRatean..17OExchange rate if a currency conversion occurred. Relevant only if you are billing in their non-primary currency. If the buyer chooses to pay with a currency other than the non-primary currency, the conversion occurs in the buyer’s account.
mc_feean..9COnly in case of separate Notify from PayPal: Transaction fee associated with the payment. mc_gross minus mc_fee equals the amount deposited into the receiver_email account. Equivalent to payment_fee for USD payments. If this amount is negative, it signifies a refund or reversal, and either of those payment statuses can be for the full or partial amount of the original transaction fee.
mc_grossan..9COnly in case of separate Notify from PayPal: Full amount of the customer’s payment before transaction fee is subtracted. Equivalent to payment_gross for USD payments. If this amount is negative, it signifies a refund or reversal, and either of those payment statuses can be for the full or partial amount of the original transaction.

Return parameters for URLSuccess, URLFailure and URLNotify with PayPal

Notice: The address parameters are always transmitted to the shop but are empty if no address data has been exchanged.

4.3 Calling the interface for mehtod “shortcut”

The PayPal “shortcut” method enables a changed transaction procedure which takes the customer back to the shop for payment confirmation. To complete this PayPal payment in the next step, use the following URL and parameters:

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

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

KeyFormatCNDBeschreibung
MerchantIDans..30MMerchantID, assigned by the 1cs Online Payment System. Additionally this parameter has to be passed in plain language too.
TransIDans..64MTransactionID provided by you which should be unique for each payment
Amountn..10MAmount in the smallest currency unit (e.g. EUR Cent). Please contact the 1cs OPS 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. Please note the global PayPal supported currencies at https://developer.paypal.com/api/rest/reference/currency-codes/.
PayIDan32MVom 1cs Online Bezahlsystem vergebene ID für die Zahlung. Übergeben Sie hier die PayID aus der Antwort von paypal.aspx im bisherigen Transaktionsablauf erhalten haben.
RefNrns..30OMerchant’s unique reference number

Address information. When you transfer these values you can also change an address.
Notice: If transferring FirstName, all other values should also be entered. If not transferring FirstName, other address parameters are not taken into account.
FirstNameans..50CMandatory in order to transfer address information Either the first name only or first and second name if a company name is used as a delivery address.
LastNameans..50CObligatory if FirstName is transmitted: Surname or name of the company of the delivery address
AddrStreetans..100CObligatory if FirstName is transmitted: Street in the delivery address
AddrStreet2ans..100CObligatory if FirstName is transmitted: 2. Street name in the delivery address that contains additional information e.g. packing station or similar. In order to receive this as a response parameter, it needs to be activated separately by the 1cs OPS Helpdesk.
AddrCityans..40CObligatory if FirstName is transmitted: Town/city in the delivery address
AddrStateans..40CObligatory if FirstName is transmitted: Federal state of the delivery address. The town submitted in AddrCity must be located in the given federal state, otherwise PayPal refused this payment. For possible values please refer to the PayPal-API-reference documentation.
AddrZipans..20CObligatory if FirstName is transmitted: Postcode in the delivery address
AddrCountryCodean2CObligatory if FirstName is transmitted: Country code of the delivery country
Phonen..20CObligatory if FirstName is transmitted: Telephone number

Parameters for PayPal payments with method “shortcut”

The following table describes the result parameters with which the 1cs Online Payment System responds to your system

hinweis pls. be prepared to receive additional parameters at any time and do not check the order of parameters

hinweis the key (e.g. MerchantId, RefNr) should not be checked case-sentive

KeyFormatCNDBeschreibung
MIDans..30MMerchantID, assigned by the 1cs Online Payment System
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 Paygate
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 OPS Response Codes (A4 Error codes)
RefNrns..30OMerchant’s unique reference number Es sind ausschließlich ASCII-Zeichen erlaubt. Sonderzeichen wie (“Umlaute”, …) sind nicht erlaubt und müssen ggf. durch ASCII-Zeichen ersetzt werden (z.B. ü → ue, é → e, …).
CodeExtn..10OError code from external partner. Needs to be agreed with the 1cs Online Payment System

Response parameters for PayPal with method “shortcut”

4.4 Calling the interface for a separate authorization

For a PayPal payment the ORDER can be separated from the subsequent authorization and the following steps. Separate authorization is only possible after the order (TxType=Order) is completed.

For a separate authorization with PayPal, please use the following URL:

https://www.computop-paygate.com/Authorize.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:

KeyFormatCNDBeschreibung
MerchantIDans..30MMerchantID, assigned by the 1cs OPS. 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 provided by you which should be unique for each payment
Amountn..10MAmount in the smallest currency unit (e.g. EUR Cent). Please contact the 1cs OPS 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. Please note the global PayPal supported currencies at https://developer.paypal.com/api/rest/reference/currency-codes/.
TxTypeans..5MTransaktionstype Auth
FirstNameans..50OEither the first name only or first and second name if a company name is used as a delivery address
LastNameans..50OSurname or name of the company of the delivery address
AddrStreetans..100OStreet in the delivery address
AddrStreet2ans..100O2. Street name in the delivery address that contains additional information e.g. packing station or similar. In order to receive this as a response parameter, it needs to be activated separately by the 1cs OPS Helpdesk.
AddrCityans..40OTown/city in the delivery address
AddrStateans..40OFederal state of the delivery address. The town submitted in AddrCity must be located in the given federal state, otherwise PayPal refused this payment. For possible values please refer to the PayPal-API-reference documentation.
AddrZipans..20OPostcode in the delivery address
AddrCountryCodean2OCountry code of the delivery country
Phonen..20OTelephone number

Parameters for PayPal authorization

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

hinweis pls. be prepared to receive additional parameters at any time and do not check the order of parameters

hinweis the key (e.g. MerchantId, RefNr) should not be checked case-sentive

KeyFormatCNDBeschreibung
MIDans..30MMerchantID, assigned by the 1cs Online Payment System
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 OPS
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 (A4 Error codes)
CodeExtn..10OError code from PayPal if agreed with the 1cs OPS Helpdesk

Response parameters for PayPal authorization

4.5 Capture

To carry out a capture for PayPal via a Server-to-Server connection, please use the following URL:

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

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

KeyFormatCNDBeschreibung
MerchantIDans..30MMerchantID, assigned by the 1cs Online Payment System. Additionally this parameter has to be passed in plain language too.
PayIDan32MID assigned by the 1cs OPS for the payment, e.g. for referencing in batch files as well as for capture or credit request.
TransIDans..64MTransactionID provided by you which should be unique for each payment
Amountn..10MAmount in the smallest currency unit (e.g. EUR Cent). Please contact the 1cs OPS Helpdesk, if you want to capture amounts <100 (smallest currency unit).
Currencya..3MCurrency, three digits DIN / ISO 4217, e.g. EUR, USD, GBP. Please find an overview here: Currency table. Please note the global PayPal supported currencies at https://developer.paypal.com/api/rest/reference/currency-codes/.
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 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, the 1cs Online Payment System 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 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 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 1cs Online Payment System.
RefNrans..30OMerchant reference number: here a separate reference number, e.g. an invoice number, can be transferred
TIDans..17OUnique PayPal-generated Capture ID. The value is required for a refund after several partial captures. Example: A merchant did 3 partial captures for an authorization. For each capture unique PayPal-generated Capture ID is returned in TID  (e.g., TID=111, TID=222, TID=333). Then, a refund for second capture should be done. In this case the merchant needs to send TID=222 in refund request.
CompleteTypeans..3OIf <YES> is transferred, the possible open order of PayPal is closed on capture. (Reason: a 115% capture is permissible on the part of PayPal. If a capture reached 100%, Paygate automatically sends a request to close the payment).

Parameters for PayPal captures

The following table describes the result parameters with which the 1cs Online Payment System responds to your system

hinweis pls. be prepared to receive additional parameters at any time and do not check the order of parameters

hinweis the key (e.g. MerchantId, RefNr) should not be checked case-sentive

KeyFormatCNDBeschreibung
MIDans..30MMerchantID, assigned by the 1cs Online Payment System
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 OPS Response Codes (A4 Error codes)
CodeExtn..10OError code from PayPal if agreed with the 1cs OPS Helpdesk

Result parameters for PayPal captures

4.6 Credit with reference

To carry out a credit with a reference transaction for PayPal, 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:

KeyFormatCNDBeschreibung
MerchantIDans..30MMerchantID, assigned by the 1cs Online Payment System. Additionally this parameter has to be passed in plain language too.
PayIDan32MID assigned by the 1cs OPS for the payment to be credited
TransIDans..64MTransactionID provided by you which should be unique for each payment
Amountn..10MAmount in the smallest currency unit (e.g. EUR Cent). Please contact the 1cs OPS 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. Please note the global PayPal supported currencies at https://developer.paypal.com/api/rest/reference/currency-codes/.
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 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, the 1cs OPS 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 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 the 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.
RefNrans..30OMerchant reference number: here a separate reference number, e.g. an invoice number, can be transferred
TIDans..17OUnique PayPal-generated Capture ID. The value is required for a refund after several partial captures. Example: A merchant did 3 partial captures for an authorization. For each capture unique PayPal-generated Capture ID is returned in TID in capture response (e.g., TID=111, TID=222, TID=333). Then, a refund for second capture should be done. In this case the merchant needs to send TID=222 in refund request.
Noteans..768CExplanatory text for recipient
Subjectans..255CMassPay: E-Mail subject to recipient Notice: If you want to use the MassPay functionality, please contact the 1cs OPS Helpdesk to activate this function for you.

Parameters for PayPal credits with reference transaction

The following table describes the result parameters with which the 1cs Online Payment System responds to your system

hinweis pls. be prepared to receive additional parameters at any time and do not check the order of parameters

hinweis the key (e.g. MerchantId, RefNr) should not be checked case-sentive

KeyFormatCNDBeschreibung
MIDans..30MMerchantID, assigned by the 1cs Online Payment System
PayIDan32MID assigned by the 1cs OPS 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 OPS Response Codes (A4 Error codes)
CodeExtn..10OError code from PayPal if agreed with the 1cs OPS Helpdesk
FeeRefundAmountn..10OThe refunded amount of the PayPal transaction fees. Required for part credit notes to prior partial captures.
GrossRefundAmountn..10OAmount refunded to the buyer in this refund transaction. Required for part credit notes to prior partial captures.
NetRefundAmountn..10OAmount deducted from your PayPal account to make this refund. Required for part credit notes to prior partial captures.

Response parameters for PayPal credits with reference transaction

4.7 Credit without reference

In order to initiate a credit without reference transaction for PayPal payment, please use the following URL:

https://www.computop-paygate.com/paypalcreditEx.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:

KeyFormatCNDBeschreibung
MerchantIDans..30MMerchantID, assigned by the 1cs Online Payment System. Additionally this parameter has to be passed in plain language too.
TransIDans..64MTransactionID provided by you which should be unique for each payment
Amountn..10MAmount in the smallest currency unit (e.g. EUR Cent). Please contact the 1cs Online Payment 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. Please note the global PayPal supported currencies at https://developer.paypal.com/api/rest/reference/currency-codes/.
ReqIDans..32OTo 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, the 1cs Online Payment System 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 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 the 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 the 1cs Online Payment System.
RefNrns..30OMerchant’s unique reference number
PayerIDans..13OEindeutige Identifikationsnummer des Kundenkontos bei PayPal
Accountans..128OFor managing multiple PayPal accounts, Merchant account: ID or e-Mail address for which the request should be submitted to PayPal
Noteans..768CMassPay: Explanatory text for recipient If you want to use the MassPay functionality, please contact the 1cs OPS Helpdesk to activate this function for you.
Subjectans..255CMassPay: E-Mail subject to recipient If you want to use the MassPay functionality, please contact the 1cs OPS Helpdesk to activate this function for you.
Payerans..100OMassPay: Email address of the purchaser If you want to use the MassPay functionality, please contact the 1cs OPS Helpdesk to activate this function for you.

Parameters for PayPal credits without reference transaction

The following table describes the result parameters with which the 1cs Online Payment System responds to your system

hinweis pls. be prepared to receive additional parameters at any time and do not check the order of parameters

hinweis the key (e.g. MerchantId, RefNr) should not be checked case-sentive

KeyFormatCNDBeschreibung
MIDans..30MMerchantID, assigned by the 1cs Online Payment System
PayIDan32MID assigned by the 1cs OPS 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 OPS
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 OPS Response Codes (A4 Error codes)
CodeExtn..10OError code from PayPal if agreed with 1cs OPS Helpdesk
FeeRefundAmountn..10OThe refunded amount of the PayPal transaction fees. Required for part credit notes to prior partial captures.
GrossRefundAmountn..10OAmount refunded to the buyer in this refund transaction. Required for part credit notes to prior partial captures.
NetRefundAmountn..10OAmount deducted from your PayPal account to make this refund. Required for part credit notes to prior partial captures.

Response parameters for PayPal credits without reference transaction

4.8 Reversal

In order to cancel a transaction with PayPal, please use the following URL:

https://www.computop-paygate.com/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 table describes the encrypted payment request parameters:

KeyFormatCNDBeschreibung
MerchantIDans..30MMerchantID, assigned by the 1cs Online Payment System. Additionally this parameter has to be passed in plain language too.
PayIDan32MID assigned by the 1cs OPS for the payment to be reversedg
TransIDans..64MTransactionID provided by you which should be unique for each payment
Amountn..10MAmount in the smallest currency unit (e.g. EUR Cent). Please contact the 1cs OPS Helpdesk, if you want to capture amounts <100 (smallest currency unit).
Currencya..3MCurrency, three digits DIN / ISO 4217, e.g. EUR, USD, GBP. Please find an overview here: Currency table. Please note the global PayPal supported currencies at https://developer.paypal.com/api/rest/reference/currency-codes/.
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 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, the 1cs OPS 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 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 the 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 PayPal reversals

The following table describes the result parameters with which the 1cs Online Payment System responds to your system

hinweis pls. be prepared to receive additional parameters at any time and do not check the order of parameters

hinweis the key (e.g. MerchantId, RefNr) should not be checked case-sentive  

KeyFormatCNDBeschreibung
MIDans..30MMerchantID, assigned by the 1cs Online Payment System
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 OPS
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 (A4 Error codes)
CodeExtn..10OError code from PayPal if agreed with the 1cs OPS Helpdesk

Result parameters for PayPal reversals

4.9 Reference Transactions

Prerequisites

  • Option “Reference Transactions“ has to be activated in your PayPal account. Please request the activation at PayPal directly.

Process

The process contains two steps.

Billing Agreement Creation (initial Billing Agreement transaction)

1.    Call PayPalOrders.aspx with TxType=BAID (refer to ). In response the 1cs OPS returns URL. All                        parameters except the following are optional in case of TxType=BAID.

2.    By the URL customer logs in to PayPal account and approves the Billing Agreement.

3.    Once the Billing Agreement is approved by the customer, Billing Agreement ID will be send using                URLNotify.

Billing Agreement Usage
1.     Call PayPalRefTrans.aspx (described below, as server-to-server request) with BillingAgreementID=”Billing         Agreement ID” created on previous step. Customer does not need to login to PayPal account for         transaction approval anymore.

Revoking of Billing Agreement

  • A customer can revoke Billing Agreement ID in own PayPal account. The merchant can only be informed about the cancellation if additional option IPN “instant payment notification” is activated for merchant account. The activation has to be done by the the 1cs OPS Helpdesk. Please keep in mind that after IPN activation the merchant will receive notifications for each status change of a PayPal payment.
  • If a customer revokes Billing Agreement ID no further subsequent reference transactions (using this Billing Agreement ID) are possible. It is also not possible to reactivate this Billing Agreement ID.

Request

In order to initiate a PayPal subscription payment, please use the following URL:

https://www.computop-paygate.com/paypalreftrans.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:

KeyFormatCNDDescription
MerchantIDans..30MMerchantID, assigned by the 1cs Online Payment System. Additionally this parameter has to be passed in plain language too.
TransIDans..64MTransactionID provided by you which should be unique for each payment
Amountn..10MAmount in the smallest currency unit (e.g. EUR Cent). Please contact the 1cs OPS 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. Please note the global PayPal supported currencies at https://developer.paypal.com/api/rest/reference/currency-codes/.
RefNrns..30OMerchant’s unique reference number
OrderDescans..30ODescription of purchased goods, unit prices etc.
BillingAgreementan19MIdentification number of the invoice agreement. When the buyer confirms the invoice agreement it is validated and remains valid until revoked by the buyer.

Parameters for PayPal Reference Transactions

Response

The following table describes the result parameters with which the 1cs Online Payment System responds to your system

hinweisbe prepared to receive additional parameters at any time and do not check the order of parameters

hinweisthe parameters (e.g. MerchantId, RefNr) should not be checked case-sentive

KeyFormatCNDDescription
MIDans..30MMerchantID, assigned by the 1cs Online Payment System
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 Paygate Response Codes (A4 Error codes)
CodeExtn..10OError code from PayPal if agreed with the 1cs OPS Helpdesk
RefNrns..30OMerchant’s unique reference number
OrderIDans..17OUnique PayPal-generated OrderID
TIDans..17OUnique PayPal-generated CaptureID
Nameans..32OFirst name and surname joined
FirstNameans..50OFirst name of payer (Payerinfo, may differ from the account name)
LastNameans..50OLast name of payer (Payerinfo, may differ from the account name)
E-Mailans..100OEmail address of the purchaser
BillingNameans..32OFirst name and surname joined
BillingAddrCountryCodean2OCountry code of the billing address
PayerIDans..13O(if response is activated): Unique ID of customer account at PayPal

Result parameters for PayPal Reference Transactions

5. 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 a PayPal payment 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:

AktionVersionBeschreibung
Authorize1.0 / 2.0Standard version without return of parameter Code
1.4 / 2.4with TID
Capture1.0 / 2.0Standard version without return of parameter Code
1.x / 2.xwith RefNr (valid for all versions other than 1.0)
1.4 / 2.4withTID
Credit1.0 / 2.0Standard version without return of parameter Code
1.x / 2.xwith RefNr (valid for all versions other than 1.0)
1.4 / 2.4withTID
CreditEx1.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.4 / 2.4with TID
Abo1.0 / 2.0Standard version without return of parameter Code
1.x / 2.xwith RefNr (valid for all versions other than 1.0)

Description of the possible batch versions

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

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

PAYPAL,Authorize,<Amount>,<Currency>,<TransID>,<PayID>

PAYPAL,Capture,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>(,<TID>)

PAYPAL,Credit,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>(,<TID>)

PAYPAL,CreditEx,<TransID>,(<RefNr>,)<Amount>,<Currency>,<payer>,<note>

PAYPAL,Reverse,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>(,<TID>)

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

Notice: In Version 1.4 it is also possible to transfer CompleteType together with a Capture action:

PAYPAL,Capture,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>(,<CompleteType>,<TID>)

The following table describes the individual fields and values used within the data set (record) in the batch file:

KeyFormatCNDBeschreibung
Typea..11MHEAD for Header, FOOT for Footer, PAYPAL for PayPal
Actiona..20MThe parameter Action defines the type of transaction: Authorize
Capture
Credit
CreditEx (credit note without previous capture; please agree this with 1cs OPS Helpdesk beforehand)
Reverse (cancellation)
Abo (subscription)
Amountn..10MAmount in the smallest currency unit (e.g. EUR Cent). Please contact the 1cs OPS 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. Please note the global PayPal supported currencies at https://developer.paypal.com/api/rest/reference/currency-codes/.
TransIDans..64MTransactionID provided by you which should be unique for each payment
RefNrns..30OMerchant’s unique reference number
payerans..100OMassPay: Email address of the purchaser: In this case you transfer the received email parameter from the Response If you want to use the MassPay functionality, please contact the 1cs OPS Helpdesk to activate this function for you.
Noteans..758OExplanatory text for recipient
PayIDan32MID assigned by Paygate for this transaction
TIDans..17OPayPal unique transaction number. Required for a number of authorisations or part captures, part credit notes or part cancellations.
OrderDescans..127ODescription of purchased goods, unit prices etc.
Capturea..6OAuto or Manual: determines whether the requested amount is settled immediately or at a later stage.
TxTypeans..5OCObligatory for Capture=Manual: Transaction type with possible values Order and Auth

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>

PAYPAL,Authorize,<Amount>,<Currency>,<TransID>,<PayID>,<Status>,<Code>,<CodeExt>

PAYPAL,Capture,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,(TID,)<Status>,<Code>,<CodeExt>

PAYPAL,Credit,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,(TID,)<Status>,<Code>,<CodeExt>

PAYPAL,CreditEx,<TransID>,(<RefNr>,)<Amount>,<Currency>,<payer>,<note>,<Status>,<Code>,<CodeExt>

PAYPAL,Reverse,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,<Status>,<Code>,<CodeExt>

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

KeyFormatCNDBeschreibung
Actiona..20MThe parameter Action defines the type of transaction like capture or credit.
PayIDan32MID assigned by the 1cs Online Payment System for this transaction
Statusa..50MOK (URLSuccess) or FAILED (URLFailure)
Coden8MError code according to Paygate Response Codes (A4 Error codes)
CodeExtn..10OError code from PayPal if agreed with 1cs OPS Helpdesk

Description of result parameters within the record for Batch files