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):
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):
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:
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:
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
transactions.authorise
and capture
Parent Elements:
Attributes:
Attribute Name |
Mandatory? |
Type |
---|---|---|
description
|
Yes | String |
Child Elements:
none
paymentDetails
The <paymentDetails>
element is a mandatory child element of <order>
for
and authorise
transactions. The default value for capture
intent=authorize
is authorized
.
Parent Elements
Attributes:
Attribute Name |
Mandatory? |
Type |
---|---|---|
description
|
Yes | String |
Child Elements (mandatory):
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:
Attributes:
Attribute Name |
Mandatory? |
Type |
---|---|---|
intent Possible values: If the |
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:
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:
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:
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:
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:
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
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:
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:
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:
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