You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 88 Next »

BETA VERSION: PLEASE DO NOT PUBLISH


Done

  • sequence diagram has been added (EN, only → defined as excerpt)
  • once diagram is checked & approved → copy to partner-sequence-diagram (with gateway instead of paygate)
  • code has been changed and put as Multi-Exerpt definition
  • code is partner specific (CT, BNP, VR)
  • common:
    • explain why V2 is better than V1 and why a merchant should change ?
    • PayPal-V1 depricated by PayPal ??
    • new features in V2 ? which ?
      • TL: Done, refer to section "V2 Advantages"
    • (Abo/Subscription + BillingAgreement have been removed ...) → see DOC-463, Comment 7.10.21, 8:32 am
      • TL: Abo/Subscriptions is not ready on V2, this is the reason why this section was removed. Reference Transactions (as BillingAgreement) on V1 is available only for existing merchants. New merchants can used this functionality only based on V2. Reference Transactions (BillingAgreement) based on V2 has not been implemented yet. PayPal shared preliminary documentation for this functionality on 17.11.2021.
    • check for RTF=I/R & paypalAbo.aspx → remove, too ?
      • TL: As new merchants can use Recurring Transactions (both Reference Transactions and Subscriptions) based on V2 only, and Recurring Transactions based on V2 are not implemented yet, this can be removed in order to do not confuse merchants.
    • doublecheck content & modify if you want
      • TL: Done.


ToDo

then @P.Posse: 

  • EN-version:
    • parameter tables with table filters, parameter-include (MID, .........)
    • samples (bach, ...) as Multi-Exerpt definition
  • DE-version:
    • check translation
    • include EN-excerpts for sequence diagram
    • include EN-excerpts for request-/response tables
    • include code
    • include samples/batches


About PayPal

General information about PayPal

PayPal is one of the world’s leading eWallets for e- and m-Commerce. Around 179 million active members in over 200 countries pay for their online orders with PayPal. Customers in Germany can pay via direct debit, giropay or credit card (American Express, Diners Club, Discover, MasterCard, Visa). Along with the above payment methods, PayPal PLUS offers purchase on account and purchase by instalment. Members log into their PayPal account with their email address and a password during checkout and choose the preferred payment method (direct debit, PayPal credit, credit card and, if applicable purchase on account or by instalment). The amount payable is then immediately credited to their own PayPal account. The usual direct debit periods for transfers or the delay resulting from distribution to collecting services do not apply. This allows real-time payments processing on the Internet.

PayPal Express Checkout

Computop Paygate offers the PayPal Express Checkout 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. Paygate then sends the delivery address as a result parameter back to your shop.

Buyers and vendors are also protected.

PayPal offers buyers and merchants extensive buyer / vendor protection. 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 Computop Paygate.

Payment online globally

PayPal is particularly beneficial for overseas customer acquisition. Computop Paygate 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 your customers with several payment methods at once.

V2 Advantages

V2 has the following advantages against V1.

  • 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 V1 anymore.
  • V2 adheres to the latest security and compliance standards. V1 is less secure from today’s standards perspective (due to nature of SOAP).
  • V2 offers smoother checkout process using LightBox, when a pop-up window appears and floating above the merchant’s online shop page. So customers stay on merchants „s page and do not lose the focus. As a result, purchase is completed quickly.


Logo

Info

Computop also processes PayPal payments, which offers you worldwide merchant protection and a potential of 179 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.

TypePayments by eWallet

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

Important information

Please note that, unlike our currency table, the currencies HUF (Hungarian - Forints) 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.

On this page



PayPal process flow 




PayPal Button

Standard PayPal Button

While you're testing in sandbox, you can use client-id=sb. For production please replace client-id=test by your own client-id, e.g. client-id=myPayPalMerchantId

<!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, While testing in sandbox, use client-id=sb. Live Client ID will be provided by Paypal -->
    <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>
     
    <!-- 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"
     
        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) {
                        var json = stringToObj(orderData);
                        return json.orderid;
                    });
                },
                // Call cbPayPal.aspx for continue sequence
                onApprove: function (data, actions) {
                    var rd = "MerchantId=" + mid + "&PayId=" + payid + "&OrderId=" + data.orderid;
                    window.location = "https://www.computop-paygate.com/cbPayPal.aspx?rd=" + window.btoa(rd);
                    }
                        }).render('#paypal-button-container');
                    }
 
            function stringToObj (string) {
                var newobj = {};
                string.split('&').forEach(function (value) {
                var keypair = value.split('=');
                newobj[keypair[0]] = keypair[1];
            });
 
            return newobj;
        }
         
    </script>
     
</body>
</html>

PayPal Button Functionality Customization

Parameter disable-funding and enable-funding

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=authorize"></script>

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

In addition to PayPal itself, the following payment options are available in Germany. Please note that for other countries other country-specific payment methods will be available in addition to PayPal itself.

  • Card
  • Sepa
  • Giropay
  • Sofort

By using different values for parameters disable-funding and enable-funding, it is possible to control which funding source will be available to customers in the web shop.

Parameter enable-funding

E.g., if it is required to have PayLater 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

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=authorize"></script>

Patgate offers 3 possible options for a payment.

  • SALE (when Paygate automatically sends Capture for a payment)
  • AUTHORIZE (when Capture should be sent later by the merchant as a separate API call)
  • ORDER (when Authorize and Capture should be sent later by the merchant as a 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.

PayPal Button Style Customization

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.

E.g., the following style-related block can be added into the default piece of code (marked in red).

paypal.Buttons({

          style: {

                 shape: 'pill',

                 color: 'blue',

                 layout: 'vertical',

                 label: 'paypal'         

               },

                // 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) {

                        var json = stringToObj(orderData);

                        return json.id;

                    });

                },

As a result the PayPal Button will look as follows.


Full list of style-related parameters can be find by the following link.

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


Configuraiton for PayPal

To process PayPal transactions via the Computop Paygate as merchant you need to have PayPal Business account. You also need to grant API permissions to Computop in order to enable usage of PayPal interface via Computop Paygate.

Create and configure PayPal Business account

1 Go to https://developer.paypal.com and:

  • Create new PayPal Business account, or
  • Log-in using your existing PayPal account and upgrade it to PayPal Business account, or
  • Log-in using your existing PayPal Business account.


Create and configure REST API app, and obtain REST API credentials

1. Go to https://developer.paypal.com/developer/applications


2. Log-in to Dashboard using your PayPal Business account, and go to “My Apps & Credentials”


3. Create REST API app by clicking on “Create App” button.


4. Enter App Name and click “Create App” button.


5. The page shows “Sandbox account”, “Client ID” and “Secret” for this App.


6. Go to “Accounts” under SANDBOX section.


7. Find the sandbox account for newly created App (refer to step 5), then click “…” button and choose “View/edit account”.


8. The page shows “Email ID” and “System Generated Password” which will to be used later for log-in to sandbox.paypal.com.


Grant API permissions to Computop Paygate

1. Go to https://www.paypal.com/US/cgi-bin/webscr?cmd=_profile-api-grant-authorization and enter arnoldt_api1.computop.de as Third-Party Permission Username and click Lookup button.


2. Grant the following permissions and click “Add” button.


3. After adding the permissions, the following page with summary of granted permissions appears.


Grant API permissions to Computop Paygate on Sandbox

1. Go to https://sandbox.paypal.com

 


2. Log-in using “Email ID” and “System Generated Password” from Developer portal (refer to step 8 above).


3. The page shows your test store.


4. Under your account on right top conner choose “Kontoeinstellungen” and then “Website-Zahlungslösungen”.


5. Click “Bearbeiten” in front of “API-Zugriff”.


6. Click “API-Genehmigung erteilen”.


7. Enter test_paypal_api_api1.computop.com and click “Nachschlagen” button. On the page grant the following permissions and click “Hinzufügen” button.


8. After adding the permissions, the following page with summary of granted permissions appears.


Setting Payment Preferences on Sandbox

1. Go to https://sandbox.paypal.com and log-in using “Email ID” and “System Generated Password” from Developer portal (refer to steps 1-3 above).

 

2. Under your account on right top conner choose “Kontoeinstellungen” and then “Zahlungseinstellungen”.


3. Click “Bearbeiten” in front of “ Zahlungen blockieren ”. On the page choose the following preferences.


4. All changes on the page are saved “on fly”, there is no need to click any button to save the changes.


Paygate interface

Definitions

Data formats

Format

Description

a

alphabetical

as

alphabetical with special characters

n

numeric

an

alphanumeric

ans

alphanumeric with special characters

ns

numeric with special characters

bool

boolean expression (true or false)

3

fixed length with 3 digits/characters

..3

variable length with maximum 3 digits/characters

enum

enumeration of allowed values

dttm

ISODateTime (YYYY-MM-DDThh:mm:ss)


Abbreviations

Abbreviation

Description

Comment

CND

condition


M

mandatory

If a parameter is mandatory, then it must be present

O

optional

If a parameter is optional, then it can be present, but it is not required

C

conditional

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


Calling the interface

Use the following URL and parameters to initiate a PayPal payment in the Paygate form:


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.

Paygate also supports the separation of authorisation and capture for PayPal Express Checkout. You can set parameters via the Paygate 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 Paygate 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. Paygate 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, Paygate rejects all payment requests with formatting errors. Therefore please use the correct data type for each parameter.

The following table describes the encrypted payment request parameters:

Parameter

Format

CND

Description

MerchantID

ans..30

M

MerchantID, assigned by Computop. Additionally this parameter has to be passed in plain language too.

TransID

ans..64

M

TransactionID which should be unique for each payment

RefNr

ans..30

O

Unique reference number

Amount

n..10

M

Amount in the smallest currency unit (e.g. EUR Cent)

Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).

If OrderDesc(n) is used, there must be valid: Amount=ItemTotal+TaxTotal+SHAmount

Currency

a3

M

Currency code, three digits DIN / ISO 4217

Capture

a..6

O

Auto or Manual: determines whether the requested amount is settled immediately or at a later stage.

Important Note: Please contact Computop Support for Manual, to discuss different possibilities of usage.

TxType

ans..5

C

Obligatory for Capture=Manual: Transaction type with possible values Order or Auth

PayPalMethod

enum

O

Reserved for future use

RTF

ans1

O

Reserved for future use

OrderDesc

ans..127

M

Description of purchased goods, unit prices etc.

OrderDesc(n)

ans..2048

O

Customers 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 Paygate parameter Amount.

TaxTotal

n..10

C

Mandatory, 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)

ItemTotal

n..10

C

Mandatory, 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)

ShAmount

n..10

O

Shipping costs in the smallest currency unit (e.g. EUR Cent). Can be uses only in connection with parameters ItemTotal and TaxTotal.

MAC

an64

M

Hash Message Authentication Code (HMAC) with SHA-256 algorithm

URLSuccess

ans..256

M

Complete URL which calls up Paygate if payment has been successful. The URL may be called up only via port 443 This URL may not contain parameters: In order to exchange values between Paygate and shop, please use the parameter UserData.

URLFailure

ans..256

M

Complete URL which calls up Paygate if payment has been unsuccessful. The URL may be called up only via port 443 This URL may not contain parameters: In order to exchange values between Paygate and shop, please use the parameter UserData.

Response

a7

O

Status response sent by Paygate to URLSuccess and URLFailure, should be encrypted. For this purpose, transmit Response=encrypt parameter.

URLNotify

ans..256

M

Complete URL which Paygate calls up in order to notify the shop about the payment result. The URL may be called up only via port 443 It may not contain parameters: Use the UserData parameter instead.

UserData

ans..1024

O

If specified at request, Paygate forwards the parameter with the payment result to the shop

ReqID

ans..32

O

To 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, Paygate will not carry out the payment, but will just return the status of the original transaction. Please note that the Paygate must have a finalized transaction status for the first initial action. Submissions with identical ReqID for an open status will be processed regularly.

Account

ans..128

O

For managing multiple PayPal accounts, Merchant account: ID or e-Mail address for which the request should be submitted to PayPal

LandingPage

ans

O

Controls how the PayPal page is displayed. Possible values are “Login” or “Billing”

Language

an2

O

AU, DE, FR, IT, GB, ES, US ; default DE

FirstName

ans..30

OC

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

LastName

ans..30

OC

(obligatory for USA and Canada): Surname or name of the company of the delivery address

AddrStreet

ans..100

OC

(obligatory for USA and Canada): Street in the delivery address

AddrStreet2

ans..100

O

Street in the delivery address

AddrCity

ans..40

OC

(obligatory for USA and Canada): Town/city in the delivery address

AddrState

ans..40

OC

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

AddrZip

ans..20

OC

(obligatory for USA and Canada): Postcode in the delivery address

AddrCountryCode

an2

O

Country code of the delivery country

Phone

n..20

O

Telephone number

NoShipping

n1

O

Handover NoShipping=1 prevents the delivery address registered with Paypal from being displayed

Parameters for PayPal payments


The following table gives the result parameters which the Paygate transmits to URLSuccess or URLFailure and URLNotify. If you have specified the Response=encrypt parameter, the following parameters are forwarded Blowfish encrypted to your system:

Parameter

Format

CND

Description

MID

ans..30

M

MerchantID, assigned by Computop

PayID

an32

M

ID assigned by Paygate for the payment, e.g. for referencing in batch files

XID

an32

M

ID assigned by Paygate for all single transactions (order, sale, authorization, capture, credit), which are made for one payment

TransID

ans..64

M

Merchant’s transaction number

Status

a..30

M

OK, 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.

Description

ans..1024

M

Further details in the event that payment is rejected. Please do not use the Description but the Code parameter for the transaction status analysis!

Code

n8

M

Error code according to Paygate Response Codes (A4 Error codes)

MAC

an64

M

Hash Message Authentication Code (HMAC) with SHA-256 algorithm

RefNr

ans..30

O

Merchant’s unique reference number

UserData

ans..1024

O

If specified at request, Paygate forwards the parameter with the payment result to the shop

CodeExt

n..10

O

Error code from PayPal if agreed with Computop Support

Name

ans..32

M

First name and surname joined

FirstName

ans..30

M

First name of payer (PayerInfo, may differ from the account name)

LastName

ans..30

M

Last name of payer (PayerInfo, may differ from the account name)

E-Mail

ans..100

M

Email address of the purchaser.

AddrStreet

ans..100

O

Street in the delivery address

AddrStreet2

ans..100

O

2. Street name in the delivery address, if agreed with Computop

AddrCity

ans..40

O

Town/city in the delivery address

AddrState

ans..40

O

Federal State in the delivery address

AddrZIP

ans..20

O

Postcode in the delivery address

AddrCountryCode

an2

O

Country code of the delivery country

Phone

n..20

O

Telephone number

BillingName

ans..32

O

First name and surname joined

BillingAddrStreet

ans..100

O

Street name of the invoicing address lodged with PayPal

BillingAddrStreet2

ans..100

O

2. Street name of the invoicing address lodged with PayPal, if agreed with Computop

BillingAddrCity

ans..40

O

Town/city name of the invoicing address saved with PayPal

BillingAddrState

ans..40

O

Federal state of the invoicing address saved with PayPal

BillingAddrZIP

ans..20

O

Postcode of the invoicing address saved with PayPal

BillingAddrCountryCode

an2

O

Country code of the delivery country

payerStatusan..10OStatus of buyer with possible values "verified" or "unverified"

InfoText

ans..255

M

Message to the merchant

PayerID

ans..13

O

(if response is activated): Unique identification number of customer account at PayPal

GrossAmount

an..9

O

Final amount charged, including any shipping and taxes from your Merchant Profile

FeeAmount

an..9

O

PayPal fee amount charged for the transaction

SettleAmount

an..9

O

Amount deposited in your PayPal account after a currency conversion

TaxAmount

an..9

O

Tax charged on the transaction

ExchangeRate

an..17

O

Exchange 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_fee

an..9

C

Only 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_gross

an..9

C

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

 


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, call the following URL:


The following table describes the encrypted payment request parameters:

Parameter

Format

CND

Description

MerchantID

ans..30

M

MerchantID, assigned by Computop. Additionally this parameter has to be passed in plain language too.

PayID

an32

M

ID assigned by Paygate for the payment

TransID

ans..64

M

TransactionID which should be unique for each payment

TxType

ans..5

M

Transaction type Auth

Amount

n..10

M

Amount in the smallest currency unit (e.g. EUR Cent)

Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).

Currency

a3

M

Currency code, three digits DIN / ISO 4217

FirstName

ans..30

O

Either the first name only or first and second name if a company name is used as a delivery address.

LastName

ans..30

O

Surname or name of the company of the delivery address

AddrStreet

ans..100

O

Street in the delivery address

AddrStreet2

ans..100

O

2. Street name in the delivery address, if agreed with Computop

AddrCity

ans..40

O

Town/city in the delivery address

AddrState

ans..40

O

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.

AddrZip

ans..20

O

Postcode in the delivery address

AddrCountryCode

an2

O

Country code of the delivery country

Phone

n..20

O

Telephone number

Parameters for PayPal authorization


The following table describes the Paygate response parameters:

Parameter

Format

CND

Description

MID

ans..30

M

MerchantID, assigned by Computop

PayID

an32

M

ID assigned by Paygate for the payment, e.g. for referencing in batch files.

XID

an32

M

ID assigned by Paygate for all single transactions (order, sale, authorization, capture, credit), which are made for one payment.

TransID

ans..64

M

Merchant’s transaction number

Status

a..30

M

OK or FAILED

Description

ans..1024

M

Further details in the event that payment is rejected. Please do not use the Description but the Code parameter for the transaction status analysis!

Code

n8

M

Error code according to Paygate Response Codes (A4 Error codes)

CodeExt

n..10

O

Error code from PayPal if agreed with Computop Support

Response parameters for PayPal authorization



Calling the interface for a capture

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


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

The following table describes the encrypted payment request parameters:

Parameter

Format

CND

Description

MerchantID

ans..30

M

MerchantID, assigned by Computop. Additionally this parameter has to be passed in plain language too.

PayID

an32

M

ID assigned by Paygate for the payment to be captured

TransID

ans..64

M

ID assigned by Merchant for the payment process to be captured

MAC

an64

M

Hash Message Authentication Code (HMAC) with SHA-256 algorithm

Amount

n..10

M

Amount in the smallest currency unit (e.g. EUR Cent)

Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).

Currency

a..3

M

Currency code, three digits DIN / ISO 4217

RefNr

ans..30

O

Merchant reference number: here a separate reference number, e.g. an invoice number, can be transferred

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, Paygate will not carry out the payment, but will just return the status of the original transaction. Please note that the Paygate must have a finalized transaction status for the first initial action. Submissions with identical ReqID for an open status will be processed regularly.

TID

ans..17

O

PayPal unique transaction number Required for part postings to previous authorisations.

CompleteType

ans..3

O

If <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 Paygate response parameters:

Parameter

Format

CND

Description

MID

ans..30

M

MerchantID, assigned by Computop

PayID

an32

M

ID assigned by Paygate for the payment, e.g. for referencing in batch files

XID

an32

M

ID assigned by Paygate for all single transactions (order, sale, authorization, capture, credit), which are made for one payment.

TransID

ans..64

M

Merchant’s transaction number

Status

a..30

M

OK or FAILED

Description

ans..1024

M

Further details in the event that payment is rejected. Please do not use the Description but the Code parameter for the transaction status analysis!

Code

n8

M

Error code according to Paygate Response Codes (A4 Error codes)

TID

ans..17

O

PayPal unique transaction number Required for part postings to previous authorisations.

CodeExt

n..10

O

Error code from PayPal if agreed with Computop Support

Result parameters for PayPal captures



Calling the interface for a credit with reference

To carry out a credit with a reference transaction for PayPal, please use the following URL:


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

The following table describes the encrypted payment request parameters:

Parameter

Format

CND

Description

MerchantID

ans..30

M

MerchantID, assigned by Computop. Additionally this parameter has to be passed in plain language too.

PayID

an32

M

ID assigned by Paygate for the payment to be credited

TransID

ans..64

M

ID assigned by Merchant for the payment process to be credited

MAC

an64

M

Hash Message Authentication Code (HMAC) with SHA-256 algorithm

Amount

n..10

M

Amount in the smallest currency unit (e.g. EUR Cent)

Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).

Currency

a..3

M

Currency code, three digits DIN / ISO 4217

RefNr

ans..30

O

Merchant reference number: here a separate reference number, e.g. an invoice number, can be transferred

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, Paygate will not carry out the payment, but will just return the status of the original transaction. Please note that the Paygate must have a finalized transaction status for the first initial action. Submissions with identical ReqID for an open status will be processed regularly.

TID

ans..17

O

PayPal unique transaction number Required for part credit notes to prior partial captures.

Note

ans..768

C

Explanatory text for recipient

Subject

ans..255

C

MassPay: E-Mail subject to recipient

Parameters for PayPal credits with reference transaction


The following table describes the Paygate response parameters:

Parameter

Format

CND

Description

MID

ans..30

M

MerchantID, assigned by Computop

PayID

an32

M

ID assigned by Paygate for the payment, e.g. for referencing in batch files

XID

an32

M

ID assigned by Paygate for all single transactions (order, sale, authorization, capture, credit), which are made for one payment.

TransID

ans..64

M

Merchant’s transaction number

Status

a..30

M

OK or FAILED

Description

ans..1024

M

Further details in the event that payment is rejected. Please do not use the Description but the Code parameter for the transaction status analysis!

Code

n8

M

Error code according to Paygate Response Codes (A4 Error codes)

TID

ans..17

O

PayPal unique transaction number. Required for part credit notes to prior partial captures.

CodeExt

n..10

O

Error code from PayPal if agreed with Computop Support

FeeRefundAmount

n..10

O

The refunded amount of the PayPal transaction fees. Required for part credit notes to prior partial captures.

GrossRefundAmount

n..10

O

Amount refunded to the buyer in this refund transaction. Required for part credit notes to prior partial captures.

NetRefundAmount

n..10

O

Amount 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



Calling the interface for credits without reference

Use the following URL and parameters to initiate a credit without reference transaction for PayPal payment in the Paygate form:


The following table describes the encrypted payment request parameters:

Parameter

Format

CND

Description

MerchantID

ans..30

M

MerchantID, assigned by Computop. Additionally this parameter has to be passed in plain language too.

TransID

ans..64

M

TransactionID which should be unique for each payment

RefNr

ans..30

O

Merchant’s unique reference number

Amount

n..10

M

Amount in the smallest currency unit (e.g. EUR Cent)

Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).

Currency

a..3

M

Currency code, three digits DIN / ISO 4217

PayerID

ans..13

O

Unique identification number of customer account at PayPal

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, Paygate will not carry out the payment, but will just return the status of the original transaction. Please note that the Paygate must have a finalized transaction status for the first initial action. Submissions with identical ReqID for an open status will be processed regularly.

Account

ans..128

O

For managing multiple PayPal accounts, Merchant account: ID or e-Mail address for which the request should be submitted to PayPal

Note

ans..768

C

MassPay: Explanatory text for recipient

Subject

ans..255

C

MassPay: E-Mail subject to recipient

Payer

ans..100

O

MassPay: Email address of the purchaser:

Parameters for PayPal credits without reference transaction


The following table describes the Paygate response parameters:

Parameter

Format

CND

Description

MID

ans..30

M

MerchantID, assigned by Computop

PayID

an32

M

ID assigned by Paygate for the payment, e.g. for referencing in batch files

XID

an32

M

ID assigned by Paygate for all single transactions (order, sale, authorization, capture, credit), which are made for one payment.

TransID

ans..64

M

Merchant’s transaction number

Status

a..30

M

OK or FAILED

Description

ans..1024

M

Further details in the event that payment is rejected. Please do not use the Description but the Code parameter for the transaction status analysis!

Code

n8

M

Error code according to Paygate Response Codes (A4 Error codes)

CodeExt

n..10

O

Error code from PayPal if agreed with Computop Support

FeeRefundAmount

n..10

O

The refunded amount of the PayPal transaction fees. Required for part credit notes to prior partial captures.

GrossRefundAmount

n..10

O

Amount refunded to the buyer in this refund transaction. Required for part credit notes to prior partial captures.

NetRefundAmount

n..10

O

Amount 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



Call of Paygate interface for reversals

To cancel a transaction with PayPal, please use the following URL:


The following table describes the encrypted payment request parameters:

Parameter

Format

CND

Description

MerchantID

ans..30

M

MerchantID, assigned by Computop. Additionally this parameter has to be passed in plain language too.

PayID

an32

M

Paygate ID for the identification of a payment

TransID

ans..64

M

Merchant ID for the identification of the payment process to be reversed

Amount

n..10

M

Amount in the smallest currency unit (e.g. EUR Cent)

Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).

Currency

a..3

M

Currency code, three digits DIN / ISO 4217

MAC

an64

M

Hash Message Authentication Code (HMAC) with SHA-256 algorithm

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, Paygate will not carry out the payment, but will just return the status of the original transaction. Please note that the Paygate must have a finalized transaction status for the first initial action. Submissions with identical ReqID for an open status will be processed regularly.

TID

ans..17

O

PayPal unique transaction number. Required for part cancellations of prior part authorisations.

Parameters for PayPal reversals


The following table describes the Paygate response parameters:

Parameter

Format

CND

Description

MID

ans..30

M

MerchantID, assigned by Computop

PayID

an32

M

ID assigned by Paygate for the payment, e.g. for referencing in batch files

XID

an32

M

ID assigned by Paygate for all single transactions (order, sale, authorization, capture, credit), which are made for one payment.

TransID

ans..64

M

Merchant’s transaction number

Status

a..30

M

OK or FAILED

Description

ans..1024

M

Further details in the event that payment is rejected. Please do not use the Description but the Code parameter for the transaction status analysis!

Code

n8

M

Error code according to Paygate Response Codes (A4 Error codes)

TID

ans..17

O

PayPal unique transaction number Required for part cancellations of prior part authorisations.

CodeExt

n..10

O

Error code from PayPal if agreed with Computop Support

Result parameters for PayPal reversals



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:

Action

Version

Description

Authorize

1.0 / 2.0

Standard version without return of parameter Code

 

1.4 / 2.4

with TID

Capture

1.0 / 2.0

Standard version without return of parameter Code

 

1.x / 2.x

with RefNr (valid for all versions other than 1.0)

 

1.4 / 2.4

with TID

Credit

1.0 / 2.0

Standard version without return of parameter Code

 

1.x / 2.x

with RefNr (valid for all versions other than 1.0)

 

1.4 / 2.4

with TID

CreditEx

1.0 / 2.0

Standard version without return of parameter Code

 

1.x / 2.x

with RefNr (valid for all versions other than 1.0)

Reverse

1.0 / 2.0

Standard version without return of parameter Code

 

1.4 / 2.4

with TID

Abo

1.0 / 2.0

Standard version without return of parameter Code

 

1.x / 2.x

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


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


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:

Parameter

Format

CND

Description

Type

a..11

M

HEAD for Header, FOOT for Footer, PAYPAL for PayPal

Action

a..20

M

The parameter Action defines the type of transaction:

Authorize
Capture
Credit
CreditEx (credit note without previous capture; please agree this with Computop Support beforehand)

Reverse (cancellation)
Abo (subscription)

Amount

n..10

M

Amount in the smallest currency unit (e.g. EUR Cent)

Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).

Currency

a3

M

Currency code, three digits DIN / ISO 4217

TransID

ans..64

M

TransactionID which should be unique for each payment

RefNr

ans..30

O

Unique reference number

payer

ans..100

O

MassPay: Email address of the purchaser: In this case you transfer the received email parameter from the Response

note

ans..758

O

Explanatory text for recipient

PayID

an32

M

ID for this transaction given by Paygate

TID

ans..17

O

PayPal unique transaction number Required for a number of authorisations or part captures, part credit notes or part cancellations.

OrderDesc

ans..127

O

Description of purchased goods, unit prices etc.

Capture

a..6

O

Auto or Manual: determines whether the requested amount is settled immediately or at a later stage.

TxType

ans..5

OC

Obligatory 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,<Betrag>,<Währung>,<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):

Parameter

Format

CND

Description

Action

a..20

M

The parameter Action defines the type of transaction like capture or credit.

PayID

an32

M

ID for this transaction given by Paygate

Status

a..50

M

OK or FAILED

Code

n8

M

Error code according to Paygate Response Codes (A4 Error codes)

CodeExt

n..10

O

Error code from PayPal if agreed with Computop Support

Description of result parameters within the record for Batch files


  • No labels