Configuration for PayPal
To process PayPal transactions via the Computop Paygate as merchant you need to have a PayPal business account . You also need to enable the PayPal interface for use via Paygate and to make the necessary settings for receiving payments.
Create and configure the PayPal business account
- Please call the PayPal URL of your country, e.g. http://www.paypal.co.uk.
- Use the Button „Sign Up“ to open a new business account
- The following page shows possible account types which can be created.
- Please choose “Business Account” and press “Continue”.
- Now you are forwarded to the page "Create Business Account". Please enter your email address, which will be used for your PayPal Account and press “Continue”.
- Please enter here your Business information. Accept the User Agreement and press the button “Agree and Continue”.
- Please complete the required information about your company on the next pages.
- In the next step you will get an email to confirm your email address. Please confirm your email address.
- Please add the further required information about your company.
Setting up the API permission
In order to process PayPal transactions through Computop Paygate you will need to setup an API permission Therefore please complete the six steps explained below.
- Please go to the menu -> Profile -> Profile and Settings
- Please go to „My selling preferences“ on the left side …
… and then select „API access“, than complete with the link „Update“.
- Inside the API Access area, please choose “Grant API permission”
- Please enter the following API Third Party Username and press the button “Lookup” frank.arnoldt_api1.computop.de
- Please check the following API Access Level boxes, all other boxes remain unchecked. Press “Add” to confirm and finish API permission settings.
- Use PayPal Express Checkout to process payments
- Issue a refund for a specific transaction
- Authorise and capture your PayPal transactions
- Obtain information about a single transaction
- Search your transactions for items that match specific criteria and display the results
- You will get the confirmation, that the third party supplier „frank.arnoldt_api1.computop.de“ was added.
Setting up PayPal-API permissions for Sandbox
For the PayPal Sandbox you can set up API permissions with the following steps.
- At https://developer.paypal.com below "Accounts" --> (Accountname) --> "Manage accounts" --> "View/ edit account" you will find the credentials of the respective merchant account.
- With this credentials please login at https://sandbox.paypal.com.
- Click on the name on the upper right and go to "Account settings".
- Click on "API access" --> "Set up API permission" --> Enter "test_paypal_api_api1.computop.com".
- Please check the boxes for following permissions:
- Use PayPal Express to process payments
- Issue a refund for a specific transaction
- Authorise and capture your PayPal transactions
- Obtain information about a single transaction
- Search your transactions for items the match specific criteria and display the results
Settings for Payment Receiving Preferences
- Please go to “Profile” and click on “Profile and Settings”.
- Below "My selling preferences" please select "Block payments" with the link “Update”.
- Please use the following settings.
- Block payments sent in a currency not provided
- Block accidental payments with duplicate invoice IDs
- Refuse following payments: Block payments with status „Pending“ (recommended) This option has no effect on eBay-payments.
- Block payments from Student accounts under 18 years of age
- Display “Add Instructions to Seller” text input field
Please confirm your selected options by clicking on the "Save" button.
Paygate interface
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) Abbreviation Description CND condition M mandatory O optional C conditional Notice: Please note that the names of parameters can be returned in upper or lower case.Definitions
Data formats
Abbreviations
Comment If a parameter is mandatory, then it must be present If a parameter is optional, then it can be present, but it is not required If a parameter is conditional, then there is a conditional rule which specifies whether it is mandatory or optional
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: Please note that a PayPal connection in the shop via i-Frame is not possible due to PayPal-Regulations. Express Checkout always connects the Customer directly to PayPal.
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: |
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 and BAID (BillingAgreementID) |
PayPalMethod | enum | O | The "shortcut" value selects the changed transaction procedure which takes the customer back to the shop for payment confirmation and e.g. in the case of purchase by instalment, displays the instalment purchase data which the customer then has to confirm. You then need to call up the interface paypalcomplete.aspx to complete the sale. |
RTF | ans1 | O | For repeat payments (subscriptions): In this case only RTF=I is allowed, other subscription payments are carried out via the separate paypalAbo.aspx interface. |
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 |
BrandName | ans..127 | O | Brand name to be displayed on login page |
HeaderLogo | ans..127 | O | URL for a logo image in the login area. Graphic formats GIF, JPG or PNG with maximally 190 x 60 pixels. Larger logos are cut off by PayPal. PayPal displays the logo at the top in the shopping cart. |
LandingPage | ans | O | Controls how the PayPal page is displayed. Possible values are “Login” or “Billing” |
FundingSource | a..7 | O | For PayPal hire purchase: „FINANCE“ Presently PayPal hire purchase is offered for customers with German billing address in EUR starting from a shopping basket of 99 EUR. Before confirming the order the hire purchase data must be displayed to the customer. Therefore the PayPal method “shortcut” must be used. Additionally the LineItems must be transferred within the OrderDesc parameters incl. taxtotal, itemtotal and shamount. |
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 |
AllowNote | ans..2 | O | The value “no” prevents the option of sending a message to the merchant. As standard a possible message is returned in the Infotext parameter. |
BuyerEMail | ans..127 | OC | Pre-completion of an email address on the PayPal login page |
NoteToBuyer | ans..165 | O | Notice for the buyer |
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. | |
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) | |
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 | |
BillingAgreementID | an19 | M | Identification number of the invoice agreement. When the buyer confirms the invoice agreement it is validated and remains valid until revoked by the buyer. | |
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 | |
TransactionID | an..19 | O | Unique transaction number from PayPal for a transaction (PayPal Order) | |
TID | an..19 | O | Unique transaction number from PayPal for an authorisation (PayPal Auth): Only for automatic PayPal configuration or if TxType=Auth | |
payerStatus | an..10 | O | Status 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 | |
IsFinancing | ans..5 | C | Purchase by instalment only: Indicates whether this is purchase by instalment: Value „TRUE“ or „FALSE“ | |
FinancingFeeAmount | ans..9 | C | Only in case of hire purchase: Hire purchase fee. (Forwarded from PayPal; presently no conversion into smallest currency unit) | |
FinancingMonthlyPayment | ans..9 | C | Only in case of hire purchase: Estimated amount incl. fees, which customer has to pay each month. (Forwarded from PayPal; presently no conversion into smallest currency unit) | |
FinancingTerm | an..2 | C | Only in case of hire purchase: Number of installments (6, 12, 18 and 24 are possible) | |
FinancingTotalCost | ans..9 | C | Only in case of hire purchase: Estimated amount incl. fees, which customer has to pay in total. (Forwarded from PayPal; presently no conversion into smallest currency unit) | |
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 method "shortcut"
The PayPal "shortcut" method enables a changed transaction procedure which takes the customer back to the shop for payment confirmation and e.g. in the case of purchase by instalment, displays the instalment purchase data which the customer then has to confirm. To complete this PayPal payment in the next step, use the following URL and parameters:
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 Enter the PayID from the response from paypal.aspx received in the previous transaction procedure. |
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: Notice: If OrderDesc(n) is changed also the Amount has to be modified. |
Currency | a3 | M | Currency code, three digits DIN / ISO 4217 |
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. |
Address information. When you transfer these values you can also change an address. | |||
FirstName | ans..30 | C | Mandatory 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. |
LastName | ans..30 | C | Obligatory if FirstName is transmitted: Surname or name of the company of the delivery address |
AddrStreet | ans..100 | C | Obligatory if FirstName is transmitted: Street in the delivery address |
AddrStreet2 | ans..100 | C | Obligatory if FirstName is transmitted: Street in the delivery address |
AddrCity | ans..40 | C | Obligatory if FirstName is transmitted: Town/city in the delivery address |
AddrState | ans..40 | C | Obligatory 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. |
AddrZip | ans..20 | C | Obligatory if FirstName is transmitted: Postcode in the delivery address |
AddrCountryCode | an2 | C | Obligatory if FirstName is transmitted: Country code of the delivery country |
Phone | n..20 | C | Obligatory if FirstName is transmitted: Telephone number |
Parameters for PayPal payments with method "shortcut"
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) |
RefNr | ans..30 | O | Merchant’s unique reference number |
CodeExt | n..10 | O | Error code from PayPal if agreed with Computop Support |
Response parameters for PayPal with method "shortcut"
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 |
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. |
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 |
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 |
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 |
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. |
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 |
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. |
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
Call of Paygate interface for subscriptions
Requirements
- The option „reference transaction“ has to be activated in your PayPal account. Please request the activation at PayPal directly.
- In addtion, please configure the corresponding permission in your mechant PayPal account
- Charge an existing customer based on a prior transaction
- Obtain authorisation for pre-approved payments and initiate pre-approved transctions
- The option “reference transaction” has to be activated for your Computop MerchantID.
Process
- In order to process the initial recurring payment use paypal.aspx and add the parameter “RTF=I”. The additional parameter triggers a recurring flag to be recognized by PayPal. If you want to get the „BillingAgreementID“ only with the first request without to show the original amount to the customer, please submit the parameter "txtype=BAID" to Paygate. If txtype=BAID is submitted, Paygate sets the value automatically to 0,00.
Please note, that the merchant never may send an amount of 0,00€, because Paygate cannot process this.
That means the merchant has to specify an amount X >0,00 an Paygate changes this for PayPal to 0,00. - You will receive PayPal`s standard parameters as well as the additional parameter “BillingAgreementID” in Computop´s response. Please add and save this parameter in your system.
- In order to process the second/recurring payment, please use the URL https://www.computop-paygate.com/paypalAbo.aspx. In this server-to-server based request, please use the regular parameters as well as the parameter “BillingAgreementID”. The additional parameter triggers the second/recurring payment with reference to the initial recurring payment. This way amount withdrawals are available without the need of a customer login into PayPal.
Notice
- The following addition will be displayed during payment process within the customer`s PayPal account (example):
"Hereby you authorise –merchant name– for future direct withdrawals from your PayPal account without any action on your part. You can revoke this authorisation at any time within your profile." - The customer can obtain information about this function within his PayPal account.
Capture on demand (capture=manual + txtype=Order or Auth)
- If you are initiating payments including txtype=Order or Auth Computop returns the "BillingAgreementID" for this action already within the notification. The "BillingAgreementID" is not necessary for the subsequent action capture. Only if a new payment is initiated it is necessary as a referral.
Deleting BillingAgreementID
- The customer can revoke the BillingAgreementID in his PayPal account. The merchant will only be informed about the cancellation if the additional option IPN “instant payment notification” is activated for his account. The activation has to be done in the Computop as well as PayPal account. Please keep in mind that by activating IPN the merchant receives a notification for each status change of a PayPal payment.
- If a customer revokes the BillingAgreementID no further recurring payments are possible. It is also not possible to reactivate a BillingAgreementID.
Payment processing for subscriptions
The processing of PayPal payments by subscription requires an initial transaction to have been processed via the normal interface. Also the possibility of subscriptions must have been activated previously with both PayPal and Computop. Therefore the option “Reference transaction” muss be arranged with Computop and PayPal. Besides following 3 API Access Level boxes options must be checked in the section “Available permissions” during setup (see section Setting up the API permission above):
- Charge existing accounts based on earlier transactions
- Setup and manage subscription payments
- Request of authorization and initializing PayPal payments via merchant debit
Use the following URL and parameters to initiate a PayPal subscription 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 must be unique for each payment |
RefNr | ans..30 | O | Merchant’s unique reference number which must be unique for each payment |
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 |
OrderDesc | ans..30 | Description of purchased goods, unit prices etc. | |
Capture | a..6 | M | 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 | M | Obligatory for Capture=Manual: Transaction type with possible values Order and Auth |
BillingAgreementID | an19 | M | Identification number of the invoice agreement. When the buyer confirms the invoice agreement it is validated and remains valid until revoked by the buyer. |
RTF | ans1 | O | For repeat payments (subscriptions): |
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 |
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 |
Parameters for PayPal subscriptions
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) |
BillingAgreementID | an19 | M | Identification number of the invoice agreement. When the buyer confirms the invoice agreement it is validated and remains valid until revoked by the buyer. |
CodeExt | n..10 | O | Error code from PayPal if agreed with Computop Support |
Result parameters for PayPal subscriptions
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>) PAYPAL,ABO,<Amount>,<Currency>,<TransID>,(<RefNr>),(<OrderDesc>),(<Capture>),(<TxType>,)<BillingAgreementId> |
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 Reverse (cancellation) |
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 |
BillingAgreementID | an19 | M | Identification number of the invoice agreement. When the buyer confirms the invoice agreement it is validated and remains valid until revoked by the buyer. |
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> PAYPAL,ABO,<Amount>,<Currency>,<TransID>,(<RefNr>),(<OrderDesc>),(<Capture>),(<TxType>,)<BillingAgreementId>,<CodeExt>,<PayID>,<Status>,<Code> FOOT,<CountRecords>,<SumAmount> |
The following table describes the response parameters which the Batch Manager saves in the Record area for each transaction (standard parameters not explained here, such as <TransID> or <RefNR> and request parameters are returned unchanged and correspond to the call as specified before):
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