If you started Paypal integration before , please check this documentation : PayPal V1 - Integration





About PayPal


Logo

Info

processes PayPal payments, which offers you worldwide merchant protection and a potential of 425 million international customers in more than 200 countries.

PayPal is one of the most popular online payment methods and it can be used in e- and m-Commerce.

General information about PayPal

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

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

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

PayPal Shortcut (former "Express Checkout Shortcut (ECS)")

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

Buyers and vendors are protected

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

Payment online globally

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

Advantages of Orders V2 ("PayPal Checkout")

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

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


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

Important information

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

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

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

If you want to use the MassPay functionality, please contact the to activate this function for you.

On this page


Process flow


 

PayPal process flow


Configuration for PayPal

PayPal Sandbox test account

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

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

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

3. Choose "View/Edit account"

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

Grant permissions to for transaction processing

In order to allow processing transactions on your behalf, corresponding permissions should be granted to .

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



Sign up for PayPal Sandbox


Sign up for PayPal Production



Send PayerID to Merchant Services

To complete merchant setup on side, you should send PayerID to Merchant Services. 

PayPal Sandbox

1. Login to https://developer.paypal.com/dashboard and go to "Testing tools" --> "Sandbox Accounts".

2. Select the appropriate Sandbox merchant account and notify Merchant Services about "Account ID".


PayPal Production

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



PayPal Smart Button

Setting up the PayPal Button

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

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

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


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
</head>
 
<body>
    <!-- Set up a container element for the button -->
    <div id="paypal-button-container"></div>
 
    <!-- Include the PayPal JavaScript SDK -->
    <!-- While you are testing in sandbox, you can use client-id that matches your test app from PayPal web developer portal. When going live, replace this with the live client-id provided by Paypal --> 
    <script type="text/javascript" src="https://www.paypal.com/sdk/js?client-id=myClientID&currency=EUR&disable-funding=giropay,sofort,sepa,card&intent=capture"></script>
     
    <!-- Initialize and show PayPal button -->
    <script type="text/javascript">
    let mid = "YOUR MERCHANTID";
    let len = "LEN OF UNENCRYPTED BLOWFISH STRING";
    let data = "BLOWFISH ENCRYPTED STRING";
 	let payid;
     
        if (len != '' && data != '') {
            // Set the request parameter MerchantID, Len and Data
            const params = new URLSearchParams({
                MerchantID: mid,
                Len: len,
                Data: data
            });
 
            // Render the PayPal button into #paypal-button-container
            paypal.Buttons({
                // Call your server to set up the transaction
                createOrder: function(data, actions) {
                    return fetch('https://paymentpage.axepta.bnpparibas/ExternalServices/paypalorders.aspx', {
                        method: 'POST',
                        body: params
                    }).then(function (res) {
                        return res.text();
                    }).then(function(orderData) {
                        var json = stringToObj(orderData);
						 	payid = json.PayID;
                        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://epayment.axepta.bnpparibas/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>


Enabling PayPal Pay Later Button

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

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

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


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

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

As a result the following two buttons will appear.


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

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

Parameter intent

The above piece of code contains the following line.

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

offers 3 possible options for a payment.

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

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

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

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

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

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

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

PayPal Button Style

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


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

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



interface


Calling the interface

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

ExternalServices/paypalorders.aspx

 

With this URL 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.

also supports the separation of authorisation and capture for PayPal Express Checkout. You can set parameters via the 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 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. therefore supports several alternatives for the processing of PayPal payments: we shall be happy to advise you about the implementation of PayPal.



Key

Format

CND

Description

MerchantID

ans..30

M

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

TransID

ans..64

M

TransactionID provided by you which should be unique for each payment

refnr

ns..30

O

Merchant’s unique reference number

Amount

n..10

M

Amount in the smallest currency unit (e.g. EUR Cent). Please contact the Axepta 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, three digits DIN / ISO 4217, e.g. EUR, USD, GBP. Please find an overview here: A1 Currency table. Please note the global PayPal supported currencies at https://developer.paypal.com/api/rest/reference/currency-codes/.

MAC

an64

M

Hash Message Authentication Code (HMAC) with SHA-256 algorithm. Details can be found here:

Capture

a..6

O

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

Important Note: Please contact Axepta Helpdesk for Manual, to discuss different possibilities of usage.

TxType

ans..5

C

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

For initial Billing Agreement transaction (Billing Agreement creation) TxType=BAID. In case TxType=BAID, all parameters except the following are optional. RefNr MUST be unique for each Billing Agreement creation transaction.

  • MerchantID
  • TransID
  • RefNr
  • Amount
  • Currency
  • OrderDesc
  • TxType
  • URLSuccess
  • URLFailure
  • URLNotify
  • MAC

PayPalMethod

enum

O

The "shortcut" value selects the changed transaction procedure which takes the customer back to the shop for payment confirmation.

You then need to call up the interface paypalcomplete.aspx to complete the sale.

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 Platform 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

C

Shipping costs in the smallest currency unit (e.g. EUR Cent). Can be used only in case ShAmount <> 0 and connection with parameters ItemTotal and TaxTotal.

URLSuccess

ans..256

M

Complete URL which calls up Platform 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 Platform and shop, please use the parameter UserData.

 Common notes:

  • We recommend to use parameter "response=encrypt" to get an encrypted response by Platform
  • However, fraudster may just copy the encrypted DATA-element which are sent to URLFailure and send the DATA to URLSuccess. Therefore ensure to check the "code"-value which indicates success/failure of the action. Only a result of "code=00000000" should be considered successful.

URLFailure

ans..256

M

Complete URL which calls up Platform 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 Platform and shop, please use the parameter UserData.

 Common notes:

  • We recommend to use parameter "response=encrypt" to get an encrypted response by Platform
  • However, fraudster may just copy the encrypted DATA-element which are sent to URLFailure and send the DATA to URLSuccess/URLNotify. Therefore ensure to check the "code"-value which indicates success/failure of the action. Only a result of "code=00000000" should be considered successful.

Response

a7

O

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

URLNotify

ans..256

M

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

 Common notes:

  • We recommend to use parameter "response=encrypt" to get an encrypted response by Platform
  • However, fraudster may just copy the encrypted DATA-element which are sent to URLFailure and send the DATA to URLSuccess/URLNotify. Therefore ensure to check the "code"-value which indicates success/failure of the action. Only a result of "code=00000000" should be considered successful.

UserData

ans..1024

O

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

ReqId

ans..32

O

To avoid double payments or actions (e.g. by ETM), enter an alphanumeric value which identifies your transaction and may be assigned only once. If the transaction or action is submitted again with the same ReqID, Axepta Platform will not carry out the payment or new action, but will just return the status of the original transaction or action.

Please note that the Axepta Platform must have a finalized transaction status for the first initial action (authentication/authorisation). This does not apply to 3-D Secure authentications that are terminated by a timeout. The 3-D Secure Timeout status does not count as a completed status in which the ReqID functionality on Platform does not take effect. Submissions with identical ReqID for an open status will be processed regularly.

Notice: Please note that a ReqID is only valid for 12 month, then it gets deleted at the Platform.

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

Language

an2

O

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

FirstName

ans..50

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

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

2. Street name in the delivery address that contains additional information e.g. packing station or similar. In order to receive this as a response parameter, it needs to be activated separately by the Axepta Helpdesk

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.

Axepta Platform also offers the option to permanently suppress the delivery address for you on your MID. Please note that the delivery address should only be suppressed in the case of digital goods, as the seller protection is also linked to this. Please contact the Axepta Helpdesk for this.

RiskEvaluation

ans..2048

O

Array of key-value pair (base64-encoded). List of keys has to be agreed with PayPal (can be different for different merchants) before usage of parameter RiskEvaluation.

Example:

{

 "additional_data": [

    {

      "key": "sender_first_name",

      "value": "John"

    },

    {

      "key": "sender_last_name",

      "value": "Doe"

    }

]

}

PaymentUnit(n)

ans..2048

O

In case of Multi-Seller Payment (Marketplace functionality) each PaymentUnit(n) is related to a separate Seller (merchant within the Marketplace) and contains JSON object (base64-encoded) with the following format.

Example:

{

        merchantemailaddress: "merchant@example.com",

        merchantid: "XVRKM94GQDXB2",

        amount: "11000",

        itemtotal: "8000",

        taxtotal: "2000",

        shippingamount: "1000",

        invoiceid: "xxxxx",

        orderdescription: "yyyyy",

        orderitems: [

        {

            name: "zzzzz",

            quantity: "1",

            unitamount: "3000",

            tax: "1000",

            description: "xxxx",

            category: "PHYSICAL_GOODS"

        },

        {

            name: "xxxxx",

            quantity: "2",

            unitamount: "2500",

            tax: "500",

            description: "yyyyy",

            category: "DIGITAL_GOODS"

        }

    ]

}

  • Where MerchantID is PayPal PayerID of the merchant.
  • InvoiceID must be unique per MerchantID. Merchant cannot use the same InvoiceID twice.
  • Valid values for Category are DIGITAL_GOODS, PHYSICAL_GOODS and DONATION. In scope of one PayPal transaction it is allowed to use 1) DIGITAL_GOODS and/or PHYSICAL_GOODS; 2) DONATION. DONATION cannot be combined with DIGITAL_GOODS or PHYSICAL_GOODS.
  • ItemTotal is the summary of UnitAmount * Quantity of all Order Items related to this merchant.
  • TaxTotal is the summary of Tax of all Order Items related to this merchant.
  • Amount is the summary of ItemTotalTaxTotal and ShippingAmount of this merchant.

mode

an8

O

If mode="redirect" is sent, it means that the merchant does not use PayPal Smart Button and Platform should redirect the customer to PayPal.

if mode is not sent (or sent with any other value except "redirect"), it means that the merchant uses PayPal Smart Button and Platform will not redirect the customer to PayPal (redirection will be handled by PayPal Smart Button).

 Common notes:

  • We recommend to use the PayPal Smart Button for additional fraud protection and improved user experience


Parameters for PayPal payments



In case of using Key-Value-Pair API

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

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

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



Key

Format

CND

Description

mid

ans..30

M

MerchantID, assigned by BNP

PayID

an32

M

ID assigned by Platform for the payment, e.g. for referencing in batch files as well as for capture or credit request.

XID

an32

M

ID for all single transactions (authorisation, capture, credit note) for one payment assigned by Platform

TransID

ans..64

MTransactionID provided by you which should be unique for each payment

Status

a..50

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 Platform Response Codes (A4 Error codes)

MAC

an64

M
Hash Message Authentication Code (HMAC) with SHA-256 algorithm. Details can be found here:
refnr

ns..30

O

Merchant’s unique reference number

UserData

ans..1024

O

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

CodeExtn..10O

Error code from PayPal if agreed with Axepta Helpdesk

Nameans..50MFirst name and surname joined

FirstName

ans..50

M

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

LastName

ans..50

M

Last name of payer (PayerInfo, may differ from the account name)
E-Mailans..100MEmail address of the purchaser

AddrStreet

ans..100

O

Street in the delivery address

AddrStreet2

ans..100

O

2. Street name in the delivery address that contains additional information e.g. packing station or similar. In order to receive this as a response parameter, it needs to be activated separately by the Axepta Helpdesk.

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
BillingAgreementIDans..19OBilling Agreement ID which can be used for subsequent transactions, based on this Billing Agreement.

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 that contains additional information e.g. packing station or similar. In order to receive this as a response parameter, it needs to be activated separately by the Axepta Helpdesk.

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 billing address
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.
OrderStatus(n)ans..255O

In case of Multi-Seller Payment (Marketplace functionality), each OrderStatus(n) contains Status and Capture ID (to be used in case of Credit) for corresponding OrderDesc(n) sent in request. JSON object (base64-encoded) with the following format.

Examples:

{"status":"COMPLETED", "id":"3C679366HH908993F1", "invoiceid":"PU1_20230812"}

{"status":"FAILED", "id":"na", "invoiceid":""}

Status has been analysed, because a customer could not have enough money for all merchants. In this case PayPal will approve only some of OrderDesc(n) (only for some merchants).

TIDans..17O

In case of SALE, the parameter contains unique PayPal-generated Capture ID.

In case of AUTH, the parameter contains unique PayPal-generated Authorization ID.

TransactionIDans..17OThe parameter contains unique PayPal-generated Order ID





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. To complete this PayPal payment in the next step, use the following URL and parameters:

 paypalComplete.aspx



Key

Format

CND

Description

MerchantID

ans..30

M

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

TransID

ans..64

MTransactionID provided by you which should be unique for each payment
Amount

n..10

M

Amount in the smallest currency unit (e.g. EUR Cent). Please contact the Axepta Helpdesk, if you want to capture amounts <100 (smallest currency unit).

Currency

a3

M

Currency, three digits DIN / ISO 4217, e.g. EUR, USD, GBP. Please find an overview here: A1 Currency table. Please note the global PayPal supported currencies at https://developer.paypal.com/api/rest/reference/currency-codes/.

refnr

ns..30

O

Merchant’s unique reference number

PayID

an32

M

ID assigned by Platform for the payment.

Enter the PayID from the response from paypal.aspx received in the previous transaction procedure.




(info) Address information. When you transfer these values you can also change an address.
(warning) Notice: If transferring FirstName, all other values should also be entered. If not transferring FirstName, other address parameters are not taken into account.

FirstName

ans..50

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

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: 2. Street name in the delivery address that contains additional information e.g. packing station or similar. In order to receive this as a response parameter, it needs to be activated separately by the Axepta Helpdesk.

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 result parameters with which the Axepta Platform responds to your system

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

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



Key

Format

CND

Description

mid

ans..30

M

MerchantID, assigned by BNP

PayID

an32

M

ID assigned by Platform for the payment, e.g. for referencing in batch files as well as for capture or credit request.

XID

an32

M

ID for all single transactions (authorisation, capture, credit note) for one payment assigned by Platform

TransID

ans..64

MTransactionID provided by you which should be unique for each payment
Status

a..50

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 Platform Response Codes (A4 Error codes)

refnr

ns..30

O

Merchant’s unique reference number

CodeExt

n..10

O

Error code from external partner. Needs to be agreed with Axepta Helpdesk.


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

Authorize.aspx

 

Notice: For security reasons, Axepta Platform 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:



Key

Format

CND

Description

MerchantID

ans..30

M

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

PayID

an32

M

ID assigned by Platform for the payment, e.g. for referencing in batch files as well as for capture or credit request.

TransID

ans..64

MTransactionID provided by you which should be unique for each payment
TxTypeans..5MTransaction type Auth
Amount

n..10

M

Amount in the smallest currency unit (e.g. EUR Cent). Please contact the Axepta Helpdesk, if you want to capture amounts <100 (smallest currency unit).

Currency

a3

M

Currency, three digits DIN / ISO 4217, e.g. EUR, USD, GBP. Please find an overview here: A1 Currency table. Please note the global PayPal supported currencies at https://developer.paypal.com/api/rest/reference/currency-codes/.

FirstName

ans..50

O

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

LastName

ans..50

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 that contains additional information e.g. packing station or similar. In order to receive this as a response parameter, it needs to be activated separately by the Axepta Helpdesk

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 result parameters with which the Axepta Platform responds to your system

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

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



Key

Format

CND

Description

mid

ans..30

M

MerchantID, assigned by BNP

PayID

an32

M

ID assigned by Platform for the payment, e.g. for referencing in batch files as well as for capture or credit request.

XID

an32

M

ID for all single transactions (authorisation, capture, credit note) for one payment assigned by Platform

TransID

ans..64

MTransactionID provided by you which should be unique for each payment
Status

a..50

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 Platform Response Codes (A4 Error codes)

CodeExtn..10O

Error code from PayPal if agreed with Axepta Helpdesk


Response parameters for PayPal authorization

 



Capture

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

 


Notice: For security reasons, Axepta Platform 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:



Key

Format

CND

Description

MerchantID

ans..30

M

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

PayID

an32

M

ID assigned by Platform for the payment, e.g. for referencing in batch files as well as for capture or credit request.

TransID

ans..64

MTransactionID provided by you which should be unique for each payment

MAC

an64

M
Hash Message Authentication Code (HMAC) with SHA-256 algorithm. Details can be found here:
Amount

n..10

M

Amount in the smallest currency unit (e.g. EUR Cent). Please contact the Axepta Helpdesk, if you want to capture amounts <100 (smallest currency unit).

Currency

a3

M

Currency, three digits DIN / ISO 4217, e.g. EUR, USD, GBP. Please find an overview here: A1 Currency table. Please note the global PayPal supported currencies at https://developer.paypal.com/api/rest/reference/currency-codes/.

RefNrans..30OMerchant reference number: here a separate reference number, e.g. an invoice number, can be transferred
ReqId

ans..32

O

To avoid double payments or actions (e.g. by ETM), enter an alphanumeric value which identifies your transaction and may be assigned only once. If the transaction or action is submitted again with the same ReqID, Axepta Platform will not carry out the payment or new action, but will just return the status of the original transaction or action.

Please note that the Axepta Platform must have a finalized transaction status for the first initial action (authentication/authorisation). This does not apply to 3-D Secure authentications that are terminated by a timeout. The 3-D Secure Timeout status does not count as a completed status in which the ReqID functionality on Platform does not take effect. Submissions with identical ReqID for an open status will be processed regularly.

Notice: Please note that a ReqID is only valid for 12 month, then it gets deleted at the Platform.

TIDans..17O

Unique PayPal-generated Capture ID. The value is required for a refund after several partial captures.

Example: A merchant did 3 partial captures for an authorization. For each capture unique PayPal-generated Capture ID is returned in TID  (e.g., TID=111, TID=222, TID=333). Then, a refund for second capture should be done. In this case the merchant needs to send TID=222 in refund request.

CompleteTypeans..3O

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%, Platform automatically sends a request to close the payment).


Parameters for PayPal captures

 


The following table describes the result parameters with which the Axepta Platform responds to your system

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

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



Key

Format

CND

Description

mid

ans..30

M

MerchantID, assigned by BNP

PayID

an32

M

ID assigned by Platform for the payment, e.g. for referencing in batch files as well as for capture or credit request.

XID

an32

M

ID for all single transactions (authorisation, capture, credit note) for one payment assigned by Platform

TransID

ans..64

MTransactionID provided by you which should be unique for each payment
Status

a..50

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 Platform Response Codes (A4 Error codes)

CodeExtn..10O

Error code from PayPal if agreed with Axepta Helpdesk


Result parameters for PayPal captures

 


Credit with reference

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

 


Notice: For security reasons, Axepta Platform 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:



Key

Format

CND

Description

MerchantID

ans..30

M

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

PayID

an32

M

ID assigned by Platform for the payment to be credited

TransID

ans..64

MTransactionID provided by you which should be unique for each payment

MAC

an64

M
Hash Message Authentication Code (HMAC) with SHA-256 algorithm. Details can be found here:
Amount

n..10

M

Amount in the smallest currency unit (e.g. EUR Cent). Please contact the Axepta Helpdesk, if you want to capture amounts <100 (smallest currency unit).

Currency

a3

M

Currency, three digits DIN / ISO 4217, e.g. EUR, USD, GBP. Please find an overview here: A1 Currency table. Please note the global PayPal supported currencies at https://developer.paypal.com/api/rest/reference/currency-codes/.

RefNrans..30OMerchant reference number: here a separate reference number, e.g. an invoice number, can be transferred
ReqId

ans..32

O

To avoid double payments or actions (e.g. by ETM), enter an alphanumeric value which identifies your transaction and may be assigned only once. If the transaction or action is submitted again with the same ReqID, Axepta Platform will not carry out the payment or new action, but will just return the status of the original transaction or action.

Please note that the Axepta Platform must have a finalized transaction status for the first initial action (authentication/authorisation). This does not apply to 3-D Secure authentications that are terminated by a timeout. The 3-D Secure Timeout status does not count as a completed status in which the ReqID functionality on Platform does not take effect. Submissions with identical ReqID for an open status will be processed regularly.

Notice: Please note that a ReqID is only valid for 12 month, then it gets deleted at the Platform.

TIDans..17O

Unique PayPal-generated Capture ID. The value is required for a refund after several partial captures.

Example: A merchant did 3 partial captures for an authorization. For each capture unique PayPal-generated Capture ID is returned in TID in capture response (e.g., TID=111, TID=222, TID=333). Then, a refund for second capture should be done. In this case the merchant needs to send TID=222 in refund request.

Noteans..768CExplanatory text for recipient
Subjectans..255C

MassPay: E-Mail subject to recipient

Notice: If you want to use the MassPay functionality, please contact the Axepta Helpdesk to activate this function for you.


Parameters for PayPal credits with reference transaction

 


The following table describes the result parameters with which the Axepta Platform responds to your system

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

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



Key

Format

CND

Description

mid

ans..30

M

MerchantID, assigned by BNP

PayID

an32

M

ID assigned by Platform for the payment, e.g. for referencing in batch files as well as for capture or credit request.

XID

an32

M

ID for all single transactions (authorisation, capture, credit note) for one payment assigned by Platform

TransID

ans..64

MTransactionID provided by you which should be unique for each payment
Status

a..50

M

OK (URLSuccess) or FAILED (URLFailure)

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 Platform Response Codes (A4 Error codes)

CodeExtn..10O

Error code from PayPal if agreed with Axepta Helpdesk

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

 


Credit without reference

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

 


Notice: For security reasons, Axepta Platform 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:



Key

Format

CND

Description

MerchantID

ans..30

M

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

TransID

ans..64

MTransactionID provided by you which should be unique for each payment
refnr

ns..30

O

Merchant’s unique reference number

Amount

n..10

M

Amount in the smallest currency unit (e.g. EUR Cent). Please contact the Axepta Helpdesk, if you want to capture amounts <100 (smallest currency unit).

Currency

a3

M

Currency, three digits DIN / ISO 4217, e.g. EUR, USD, GBP. Please find an overview here: A1 Currency table. Please note the global PayPal supported currencies at https://developer.paypal.com/api/rest/reference/currency-codes/.

PayerIDans..13OUnique identification number of customer account at PayPal
ReqId

ans..32

O

To avoid double payments or actions (e.g. by ETM), enter an alphanumeric value which identifies your transaction and may be assigned only once. If the transaction or action is submitted again with the same ReqID, Axepta Platform will not carry out the payment or new action, but will just return the status of the original transaction or action.

Please note that the Axepta Platform must have a finalized transaction status for the first initial action (authentication/authorisation). This does not apply to 3-D Secure authentications that are terminated by a timeout. The 3-D Secure Timeout status does not count as a completed status in which the ReqID functionality on Platform does not take effect. Submissions with identical ReqID for an open status will be processed regularly.

Notice: Please note that a ReqID is only valid for 12 month, then it gets deleted at the Platform.

Accountans..128OFor managing multiple PayPal accounts, Merchant account: ID or e-Mail address for which the request should be submitted to PayPal
Noteans..768C

MassPay: Explanatory text for recipient

If you want to use the MassPay functionality, please contact the Axepta Helpdesk to activate this function for you.

Subjectans..255C

MassPay: E-Mail subject to recipient

If you want to use the MassPay functionality, please contact the Axepta Helpdesk to activate this function for you.

Payerans..100O

MassPay: Email address of the purchaser

If you want to use the MassPay functionality, please contact the Axepta Helpdesk to activate this function for you.


Parameters for PayPal credits without reference transaction

 


The following table describes the result parameters with which the Axepta Platform responds to your system

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

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



Key

Format

CND

Description

mid

ans..30

M

MerchantID, assigned by BNP

PayID

an32

M

ID assigned by Platform for the payment, e.g. for referencing in batch files as well as for capture or credit request.

XID

an32

M

ID for all single transactions (authorisation, capture, credit note) for one payment assigned by Platform

TransID

ans..64

MTransactionID provided by you which should be unique for each payment
Status

a..50

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 Platform Response Codes (A4 Error codes)

CodeExtn..10O

Error code from PayPal if agreed with Axepta Helpdesk

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

 



Reversal

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

 


Notice: For security reasons, Axepta Platform 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:



Key

Format

CND

Description

MerchantID

ans..30

M

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

PayID

an32

M

ID assigned by Platform for the payment to be reversed

TransID

ans..64

MTransactionID provided by you which should be unique for each payment

MAC

an64

M
Hash Message Authentication Code (HMAC) with SHA-256 algorithm. Details can be found here:
Amount

n..10

M

Amount in the smallest currency unit (e.g. EUR Cent). Please contact the Axepta Helpdesk, if you want to capture amounts <100 (smallest currency unit).

Currency

a3

M

Currency, three digits DIN / ISO 4217, e.g. EUR, USD, GBP. Please find an overview here: A1 Currency table. Please note the global PayPal supported currencies at https://developer.paypal.com/api/rest/reference/currency-codes/.

ReqId

ans..32

O

To avoid double payments or actions (e.g. by ETM), enter an alphanumeric value which identifies your transaction and may be assigned only once. If the transaction or action is submitted again with the same ReqID, Axepta Platform will not carry out the payment or new action, but will just return the status of the original transaction or action.

Please note that the Axepta Platform must have a finalized transaction status for the first initial action (authentication/authorisation). This does not apply to 3-D Secure authentications that are terminated by a timeout. The 3-D Secure Timeout status does not count as a completed status in which the ReqID functionality on Platform does not take effect. Submissions with identical ReqID for an open status will be processed regularly.

Notice: Please note that a ReqID is only valid for 12 month, then it gets deleted at the Platform.


Parameters for PayPal reversals

 


The following table describes the result parameters with which the Axepta Platform responds to your system

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

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



Key

Format

CND

Description

mid

ans..30

M

MerchantID, assigned by BNP

PayID

an32

M

ID assigned by Platform for the payment, e.g. for referencing in batch files as well as for capture or credit request.

XID

an32

M

ID for all single transactions (authorisation, capture, credit note) for one payment assigned by Platform

TransID

ans..64

MTransactionID provided by you which should be unique for each payment
Status

a..50

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 Platform Response Codes (A4 Error codes)

CodeExtn..10O

Error code from PayPal if agreed with Axepta Helpdesk


Result parameters for PayPal reversals

 




Reference Transactions

Prerequisites

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

Process

The process contains two steps.

Billing Agreement Creation (initial Billing Agreement transaction)

  1. Call PayPalOrders.aspx with TxType=BAID (refer to ). In response returns URL. All parameters except the following are optional in case of TxType=BAID.
  2. By the URL customer logs in to PayPal account and approves the Billing Agreement.
  3. Once the Billing Agreement is approved by the customer, Billing Agreement ID will be send using URLNotify.

Billing Agreement Usage

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

Revoking of Billing Agreement

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

Request

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

paypalreftrans.aspx


Notice: For security reasons, Axepta Platform 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:



Key

Format

CND

Description

MerchantID

ans..30

M

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

TransID

ans..64

MTransactionID provided by you which should be unique for each payment
Amount

n..10

M

Amount in the smallest currency unit (e.g. EUR Cent). Please contact the Axepta Helpdesk, if you want to capture amounts <100 (smallest currency unit).

Currency

a3

M

Currency, three digits DIN / ISO 4217, e.g. EUR, USD, GBP. Please find an overview here: A1 Currency table. Please note the global PayPal supported currencies at https://developer.paypal.com/api/rest/reference/currency-codes/.

refnr

ns..30

O

Merchant’s unique reference number

OrderDescans..30ODescription of purchased goods, unit prices etc.
BillingAgreementIDan19MIdentification number of the invoice agreement. When the buyer confirms the invoice agreement it is validated and remains valid until revoked by the buyer.


Parameters for PayPal Reference Transactions


Response


The following table describes the result parameters with which the Axepta Platform responds to your system

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

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



Key

Format

CND

Description

mid

ans..30

M

MerchantID, assigned by BNP

PayID

an32

M

ID assigned by Platform for the payment, e.g. for referencing in batch files as well as for capture or credit request.

XID

an32

M

ID for all single transactions (authorisation, capture, credit note) for one payment assigned by Platform

TransID

ans..64

MTransactionID provided by you which should be unique for each payment
Status

a..50

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 Platform Response Codes (A4 Error codes)

CodeExtn..10O

Error code from PayPal if agreed with Axepta Helpdesk

refnr

ns..30

O

Merchant’s unique reference number

OrderIDans..17OUnique PayPal-generated OrderID
TIDans..17O

Unique PayPal-generated CaptureID

Nameans..32OFirst name and surname joined

FirstName

ans..50

O

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

LastName

ans..50

O

Last name of payer (PayerInfo, may differ from the account name)
E-Mailans..100OEmail address of the purchaser

BillingName

ans..32

O

First name and surname joined

BillingAddrCountryCode

an2

O

Country code of the billing address

PayerID

ans..13

O

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


Result parameters for PayPal Reference Transactions


Batch processing via the interface

MultiExcerpt named Batch_Intro was not found -- Please check the page name and MultiExcerpt name used in the MultiExcerpt-Include macro

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:

Oops, it seems that you need to place a table or a macro generating a table within the Table Filter macro.

The table is being loaded. Please wait for a bit ...

Action

Version

Description

Beschreibung
Authorize

1.0 / 2.0

Standard version without return of parameter Code

Standardversion ohne Rückgabe von Parameter Code


1.4 / 2.4

with TID

mit TID

Capture

1.0 / 2.0

Standard version without return of parameter Code

Standardversion ohne Rückgabe von Parameter Code

1.x / 2.x

with RefNr (valid for all versions other than 1.0)

mit RefNr (gilt für alle Versionen außer 1.0)

1.4 / 2.4

with TID

mit TID

Credit

1.0 / 2.0

Standard version without return of parameter Code

Standardversion ohne Rückgabe von Parameter Code


1.x / 2.x

with RefNr (valid for all versions other than 1.0)

mit RefNr (gilt für alle Versionen außer 1.0)

1.4 / 2.4with TIDmit TID
CreditEx

1.0 / 2.0

Standard version without return of parameter Code

Standardversion ohne Rückgabe von Parameter Code

1.x / 2.x

with RefNr (valid for all versions other than 1.0)

mit RefNr (gilt für alle Versionen außer 1.0)
Reverse

1.0 / 2.0

Standard version without return of parameter Code

Standardversion ohne Rückgabe von Parameter Code

1.4 / 2.4

with TID

mit TID
ABO/REFTRANS

1.0 / 2.0

ABO - Classic PayPal API

REFTRANS - Order V2 PayPal API

Standard version without return of parameter Code

ABO - Classic PayPal API

REFTRANS - Order V2 PayPal API

Standardversion ohne Rückgabe von Parameter Code


1.x / 2.x

with RefNr (valid for all versions other than 1.0)

mit RefNr (gilt für alle Versionen außer 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,REFTRANS,<Amount>,<Currency>,<TransID>,(<RefNr>),(<OrderDesc>),(<Capture>),(<TxType>),<BillingAgreementId>,<CodeExt>,<PayID>,<Status>,<Code>
FOOT,<CountRecords>,<SumAmount>

Example for Master MID function:

HEAD,[Master]MerchantID,Date,2.x
Type,Action,[Slave]MID,Amount,Currency,TransID,Data (depends on Action)
FOOT,CountRecords,SumAmount

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

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




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


Key

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 Axepta Helpdesk beforehand)
Reverse (cancellation)
ABO (subscription, Classic API)

REFTRANS (subscription, Order V2 API)

Amount

n..10

M

Amount in the smallest currency unit (e.g. EUR Cent). Please contact the Axepta Helpdesk, if you want to capture amounts <100 (smallest currency unit).

Currency

a3

M

Currency, three digits DIN / ISO 4217, e.g. EUR, USD, GBP. Please find an overview here: A1 Currency table. Please note the global PayPal supported currencies at https://developer.paypal.com/api/rest/reference/currency-codes/.

TransID

ans..64

MTransactionID provided by you which should be unique for each payment
refnr

ns..30

O

Merchant’s 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

If you want to use the MassPay functionality, please contact the Axepta Helpdesk to activate this function for you.

note

ans..758

O

Explanatory text for recipient

PayID

an32

M

ID assigned by Platform for this transaction

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.

For REFTRANS only Auto is possible.

TxType

ans..5

OC

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

BillingAgreementID

an19

OC

Identification number of the invoice agreement. When the buyer confirms the invoice agreement it is validated and remains valid until revoked by the buyer.

Mandatory in case of ABO and REFTRANS.

 


Description of fields within the record for Batch files

 

The record area within the response file for Batch transactions looks as follows:

HEAD,<MerchantID>,<Date>,<Version>
PAYPAL,Authorize,<Amount>,<Currency>,<TransID>,<PayID>,<Status>,<Code>,<CodeExt>
PAYPAL,Capture,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,(TID,)<Status>,<Code>,<CodeExt>
PAYPAL,Credit,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,(TID,)<Status>,<Code>,<CodeExt>
PAYPAL,CreditEx,<TransID>,(<RefNr>,)<Amount>,<Currency>,<payer>,<note>,<Status>,<Code>,<CodeExt>
PAYPAL,Reverse,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,<Status>,<Code>,<CodeExt>
PAYPAL,REFTRANS,<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):


Key

Format

CND

Description

Action

a..20

M

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

an32

M

ID assigned by Platform for this transaction

Status

a..50

M

OK  or FAILED

Code

n8

M

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

CodeExtn..10O

Error code from PayPal if agreed with Axepta Helpdesk


Description of result parameters within the record for Batch files