XML Elements for Smart Button and Redirect URL Payment Flows

This section lists each of the XML elements, child elements, and attributes (mandatory and optional) when forming the various XML transactions for Smart Button or Redirect payment flows. These elements are included:

 

paymentService

The paymentService element is mandatory for authorise, capture, cancel, and refund transactions.

Parent Elements:

none

Attributes:

Attribute Name

Mandatory?

Type
merchantCode Yes String
version Yes String

Child Elements (Mandatory):

order

 

submit

The submit element is mandatory for authorise and capture transactions.

Parent Elements:

none

Attributes:

Attribute Name

Mandatory?

Type
ordercode Yes String

Child Elements (mandatory):

order

 

orderModification

The orderModification element is mandatory for capture, cancel, and refund transactions.

Parent Elements:

none

Attributes:

Attribute Name

Mandatory?

Type
orderCode Yes String

Child Elements:

none

 

order

The order element is a mandatory child element of <submit> for capture, cancel, and refund transactions.

Parent Elements:

paymentService

Attributes:

Attribute Name

Mandatory?

Type
orderCode Yes String

Child Elements (mandatory):

description, amount, description, billingAddress

Child Elements (optional):

shopper, shippingAddress, shopperAdditionalData, orderliness

 

amount

The <amount> element is a mandatory child element of <order> for authorise and capture transactions. The default value is credit for intent=authorize.

Parent Elements:

order

Attributes:

Attribute Name

Mandatory?

Type
value Yes String
currencyCode Yes String
exponent Yes String
debitCreditIndicator No String

Child Elements:

none

 

description

The <description> element is a mandatory child element of <order> for authorise and capture transactions.

Parent Elements:

order

Attributes:

Attribute Name

Mandatory?

Type
description Yes String

Child Elements:

none

 

paymentDetails

The <paymentDetails> element is a mandatory child element of <order> for authorise and capture transactions. The default value for intent=authorize is authorized.

Parent Elements

order

Attributes:

Attribute Name

Mandatory?

Type
description Yes String

Child Elements (mandatory):

PAYPAL-SSL

Child Elements (optional):

successURL, cancelURL, pendingURL, failureURL

 

PAYPAL-SSL

The <PAYPAL-SSL> element is a mandatory child element of <paymentDetails> for authorise and capture transactions.

Parent Elements:

description

Attributes:

Attribute Name

Mandatory?

Type

intent

Possible values: authorize, capture

If the intent field is ot passed through the order creation request, the system defaults to intent=authorize.

No String

Child Elements (optional):

address

 

successURL

The <successURL> element is a optional child element of <paymentDetails> for authorise and capture transactions. It defines where the shopper is redirected when the PayPal payment is complete and successful. You can choose a unique URL for each transaction to assist in identifying paid orders.

Parent Elements:

description

Attributes:

none

Child Elements (optional):

none

 

pendingURL

The <pendingURL> element is a optional child element of <paymentDetails> for authorise and capture transactions. It defines where the shopper is redirected when the result of the PayPal transaction isn't immediately known. You can choose a unique URL for each transaction to assist in identifying orders.

Parent Elements:

description

Attributes:

none

Child Elements:

none

 

failureURL

The <failtureURL> element is a optional child element of <paymentDetails> for authorise and capture transactions. It defines where the shopper is redirected when the PayPal payment is complete but unsuccessful. You can choose a unique URL for each transaction to assist in identifying refused payments.

Parent Elements:

description

Attributes:

none

Child Elements:

none


cancelURL

The <cancelURL> element is a optional child element of <paymentDetails> for authorise and capture transactions. It defines where the shopper is redirected when they click Cancel or Back to Merchant on the PayPal pages. You can choose a unique URL for each transaction to assist in identifying payments.

Parent Elements:

description

Attributes:

none

Child Elements:

none

 

billingAddress

The <billingAddress> element is a optional child element of <order> for authorise and capture transactions. If it is not passed through the order creation request, it will be populated with the address stored in the shopper’s PayPal wallet via the successful order authorisation/capture response.

Parent Elements:

order

Attributes:

Attribute Name

Mandatory?

Type
address1 Yes String
street Yes String
postal code Yes String
countrycode Yes String
city Yes String

Child Elements (optional):

address

 

shopper

The <shopper> element is an optional child element of <order> for authorise, capture, cancel, and refund transactions.

Parent Elements

order

Attributes:

none

Child Elements (optional):

shopperEmailAddress

 

shippingAddress

The <shipping> element is an optional child element of <order> for authorise, capture, cancel, and refund transactions. For orders requiring shipping address, if the element is not passed through the order creation request, it will be populated with the address stored in the shopper’s PayPal wallet via the successful order authorisation/capture response..

Parent Elements:

order

Attributes:

Attribute Name

Mandatory?

Type
address1 No String
street No String
postalcode No String
countrycode No String
city No String

Child Elements (optional):

firstName, lastName, city, state

 

shopperAdditionalData

The <shopperAdditionalData> element is an optional child element of <order> for authorise, capture, cancel, and refund transactions.

Parent Elements:

order

Attributes:

Attribute Name

Mandatory?

Type
birthday No String

Child Elements (optional):

none

 

orderliness

The <orderliness> element is an optional child element of <order> for authorise, capture, cancel, and refund transactions.

Parent Elements:

order

Attributes:

Attribute Name

Mandatory?

Type
lineItem No String
lineItem.name No String
lineItem.quantity No String
lineItem.quantityUnit No String
lineItem.unitPrice No String
lineItem.taxRate No String
lineItem.totalAmount No String
lineItem.totalTaxAmount No String

Child Elements (optional):

reference