PayPal XMLPay - 2009 Developer's Guide

XMLPay Developer’s Guide
Last updated: December 2009
Payflow Pro XMLPay Developer’s Guide
Document Number: 200013.en_US-200912
© 2010 PayPal, Inc. All rights reserved. PayPal is a registered trademark of PayPal, Inc. The PayPal logo is a trademark of PayPal, Inc. Other trademarks and brands are the property of their respective owners. The information in this document belongs to PayPal, Inc. It may not be used, reproduced or disclosed without the written approval of PayPal, Inc. Copyright © PayPal. All rights reserved. PayPal (Europe) S.à r.l. et Cie., S.C.A., Société en Commandite par Actions. Registered office: 22-24 Boulevard Royal, L-2449, Luxembourg, R.C.S. Luxembourg B 118 349. Consumer advisory: The PayPal™ payment service is regarded as a stored value facility under Singapore law. As such, it does not require the approval of the Monetary Authority of Singapore. You are advised to read the terms and conditions carefully.
Notice of non-liability: PayPal, Inc. is providing the information i n this document t o you “AS-IS” with all faults. PayPal, Inc. makes no warranties of any kind (whether express, implied or statutory) with respect to the information co ntained herein. PayPal, Inc. assumes no liability for damages (whether direct or indirect), caused by errors or omissions, or resulting from the use of this document or the information contained in t his document or result ing from the ap plication or use of the product or service described herein. PayPal, Inc. reserves the right to make changes to any information herein without further notice.

Contents

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Intended Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Organization of This Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Where to Go For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
How to Contact Customer Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Chapter 1 XMLPay Overview . . . . . . . . . . . . . . . . . . . . . . 9
About XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Benefits of XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Well-formed XML Document. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Using XMLPay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
XMLPay Instruments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
XMLPay Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
XMLPay Processing Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Business-to-Consumer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Business-to-Business . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
XMLPay Messaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
XMLPayRequest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
XMLPayResponse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Chapter 2 XMLPay Syntax . . . . . . . . . . . . . . . . . . . . . . .15
Syntax Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
The XMLPayRequest Document (Transactions). . . . . . . . . . . . . . . . . . . . . . . 15
Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
RequestAuth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
The XMLPayRequest Document (Recurring Profiles) . . . . . . . . . . . . . . . . . . . . 22
RecurringProfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
PayData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
PayDataAuth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Invoice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Items. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
MerchantInfo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
XMLPay Developer’s Guide 3
Contents
AdditionalAmounts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Tender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
RPData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
ExtData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
The XMLPayResponse Document (Transactions). . . . . . . . . . . . . . . . . . . . . . 37
TransactionResult . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
The XMLPayResponse Document (Recurring Profiles) . . . . . . . . . . . . . . . . . . . 41
BuyerAuthResult. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
RecurringProfileResult. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Chapter 3 XMLPay Elements . . . . . . . . . . . . . . . . . . . . . . 47
General Transaction Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Credit Card Transaction Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Retail Credit Card Transaction Parameters . . . . . . . . . . . . . . . . . . . . . . . 48
Level 3 (Commercial) Credit Card Transaction Parameters. . . . . . . . . . . . . . . 52
Buyer Authentication Transaction Parameters. . . . . . . . . . . . . . . . . . . . . . . . 58
Credit Card Transaction Response Parameters . . . . . . . . . . . . . . . . . . . . . . . 58
ACH Transaction Parameters (Norwest). . . . . . . . . . . . . . . . . . . . . . . . . . . 60
PayPal Express Checkout Request Transaction Parameters . . . . . . . . . . . . . . . . 60
PayPal Express Checkout Response Transaction Parameters . . . . . . . . . . . . . . . 63
Chapter 4 XMLPay Transaction Profiles . . . . . . . . . . . . . . . .65
ACH Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Buyer Authentication Transactions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Card Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Purchase Card Level I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Purchase Card Level II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Purchase Card Level III . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Check Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
PayPal Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Chapter 5 XMLPay Examples . . . . . . . . . . . . . . . . . . . . . . 69
ACH Sale Request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
ACH Sale Response. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Card Authorization Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Card Authorization Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4 XMLPay Developer’s Guide
Contents
Card Capture Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Card Capture Response. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Card Credit Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Card Credit Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Card Credit Reference Credit Request . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Card Credit Reference Credit Response . . . . . . . . . . . . . . . . . . . . . . . . 75
Card Force Capture Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Card Force Capture Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Card Sale Request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Card Sale Response. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Card Secure Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Card Status Request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Card Status Response. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Card Void Request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Card Void Response. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Check Sale Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Check Sale Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Customer IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Express Checkout Authorization Transaction . . . . . . . . . . . . . . . . . . . . . . . . 84
Set Express Checkout Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Set Express Checkout Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Get Express Checkout Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Get Express Checkout Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Do Express Checkout Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Do Express Checkout Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
IAVS Result Request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Level 3 Invoice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Line Item Sale Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Line Item Sale Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Merchant Description and Merchant Service Number . . . . . . . . . . . . . . . . . . . . 92
Processor Result. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Recurring Billing Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
ACH Recurring Billing Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Credit Card Recurring Billing Profile. . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Shipping Carrier and Shipping Method . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Transaction Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
ValidateAuthentication Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
ValidateAuthentication Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
XMLPay Developer’s Guide 5
Contents
VerifyEnrollment Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
VerifyEnrollment Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Appendix A XMLPay Schemas . . . . . . . . . . . . . . . . . . . . . 101
XMLPay Schema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101
XMLPay Types Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114
Appendix B XMLPay DTD. . . . . . . . . . . . . . . . . . . . . . . . 131
Appendix C Transaction Results . . . . . . . . . . . . . . . . . . . . 145
AVS Result Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
6 XMLPay Developer’s Guide

Preface

This document defines an XML syntax for payment transaction requests, responses, and receipts in a payment processing network.

Intended Audience

The typical user of XMLPay is an Internet merchant or merchant aggregator who wants to dispatch credit card, corporate purchase card, Automated Clearing House (ACH), or other payment requests to a financial processing network.

Organization of This Document

This document is organized as follows:
z Chapter 1, “XMLPay Overview,” describes XML and XMLPay, presenting processing
models, networking, messaging and related specifications.
z Chapter 2, “XMLPay Syntax,” presents the syntax for transaction requests, responses, and
receipts using a simplified notation.
z Chapter 3, “XMLPay Elements,”provides tables defining the existing Payflow SDK
parameters (name/value pairs) and their XMLPay equivalents.
z Chapter 4, “XMLPay Transaction Profiles,” lists the transactions supported for each tender
type—ACH, Card, Check—along with the data elements used for each of those transactions.
z Chapter 5, “XMLPay Examples,” gives several XMLPay document samples. z Appendix A, “XMLPay Schemas,” provides standard W3C schemas for XMLPay and
XMLPay Types.
z Appendix B, “XMLPay DTD,” presents the Document Type Definition XMLPay schema. z Appendix C, “Transaction Results,” lists transaction result codes and response messages as
well as Address Verification Service (AVS) result codes.

Where to Go For More Information

This guide is not the complete source of all the information you need to develop Payflow applications. Use the Payflow Pro Developer’s Guide along with this guide. It provides
XMLPay Developer’s Guide 7
Preface

How to Contact Customer Service

detailed descriptions of all the Payflow name-value pair parameters. In addition, it contains testing data, the test and live URLs, and error codes.
How to Contact Customer Service
For problems with transaction processing or connections, contact Customer Service by opening a ticket on the Contact Support tab at http://www.paypal.com/mts.

Revision History

Revision history for Website Payments Pro Payflow Edition—XMLPay Developer’s Guide.
Date Description
December 2009 Added an example of using ExtData to pass values for unsupported NVP tags. October 2008 Added a card credit request example. Renamed the existing credit request example Card
Refereence Credit Request.
Updated the RESULT values and RESPMSG table. February 2008 Minor updates for technical accuracy. December 2007 Updated host addresses in RESULT values and RESPMSG table. August 2007 Updated RESPMSD text.
Updated PayPal logo. May 2007 Represents a merge of content from two separate XMLPay developer guides.
Corrections for technical accuracy. February 2007 Updated transaction RESULT values and RESPMSG text. August 2006 Updated URLs to PayPal test and live servers. May 2006 Reformatted in PayPal templates.
Integrated Direct Payment feature. March 2006 Integrated Express Checkout feature.
8 XMLPay Developer’s Guide
1

About XML

XML (eXtensible Markup Language) is derived from Standardized General Markup Language (SGML) and HyperText Markup Language (HTML). In a sense, XML is SGML “lite”, but XML manages to maintain SGML’s strength as well as HTML’s simplicity. What’s more, XML can be converted to HTML.
The main advantage of XML is that text can be meaningfully annotated. In XML, markers identify and tag the text. But the markers themselves have no defined meaning; it is the applications that define the markers.
XML allows complex transactions to be structured. Client integration is simplified through the exchange of XML documents. Since XML provides support for digital signatures, documents from unknown sources can be trusted. In addition, XML can easily produce large documents such as transaction logs and reports.

XMLPay Overview

Benefits of XML

The main benefits of XML are that it:
z Allows text annotation z Presents text, data, and content to applications as a structured document z Facilitates integration of diverse applications z In addition to these benefits, XML is easy to: z Read (all text) z Parse and validate z Search for content z Produce

Well-formed XML Document

A well-formed XML document conforms to XML syntax and must have:
z An XML processing instruction at the beginning (prolog) z A single root element z Matching (case sensitive) start and end tags for all elements z All XML elements properly nested z Attribute values in quotes
XMLPay Developer’s Guide 9
XMLPay Overview
1

Using XMLPay

Example 1
<?xml version=“1.0”?> <Card>
<CardType> MasterCard </CardTy pe> <CardNumber>495576040004</Card Number> <ExpDate>200011</ExpDate> CVNum>828</CVNum>
</Card>
Example 2
<?xml version=“1.0”?> <Items ID=“IDTI123”>
<Item Number=“1”>
<Description>Electric Toothbrush< /Description> <Quantity>1</Quantity> <UnitPrice>100</UnitPrice>
<TotalAmt>100</TotalAmt> </Item> <Item Number=“2”>
<Description>ToothPaste</Descr iption>
<Quantity>20</Quantity>
<UnitPrice>2</UnitPrice>
<TotalAmt>40</TotalAmt> </Item> …
</Items>
Using XMLPay
XMLPay defines an XML syntax for payment transaction requests and responses in a payment processing network.
The typical user of XMLPay is an Internet merchant or merchant aggregator who wants to dispatch credit card, corporate purchase card, Automated Clearing House (ACH), or other payment requests to a financial processing network.
Using the data type definitions specified by XMLPay, a user creates a client payment request and dispatches it—using a mechanism left unspecified by XMLPay—to an associated XMLPay-compliant server component. Responses (also formatted in XML) convey the results of the payment requests to the client.
NOTE: For specific examples of how to submit XML documents using the Website Payments
Pro Payflow Edition client service, see the PayPal Manager Download package.

XMLPay Instruments

XMLPay supports payment processing using the following payment instruments:
z Retail credit and debit cards
10 XMLPay Developer’s Guide
z Corporate purchase cards: Levels 1, 2, and 3
HTTPS (typical)
XMLPay
Payment Gateway
Seller
Buyer
Payment
Processor
Financial networks
Merchant Web Store
Card 3455-342
$37.95
BUY
z Automated Clearing House (ACH)

XMLPay Operations

Typical XMLPay operations include:
z Funds authorization and capture z Sales and repeat sales z Voiding of transactions

XMLPay Processing Models

XMLPay is intended for use in both Business-to-Consumer (B2C) and Business-to-Business (B2B) payment processing applications.
XMLPay Overview
XMLPay Processing Models
1

Business-to-Consumer

In a B2C Sale transaction, the Buyer presents a payment instrument (for example, a credit card number) to a Seller to transfer money from the Buyer to the Seller.
The Seller uses XMLPay to forward the Buyer’s payment information to a Payment Processor. The Seller formats an XMLPayRequest and submits it either directly to an XMLPay­compliant payment processor or, as pictured, indirectly via an XMLPay-compliant Payment Gateway. Responses have the type XMLPayResponse.
The Buyer-to-Seller and Payment Gateway-to-Processor channels are typically left unaffected by use of XMLPay. For example, XMLPay is typically not used in direct communications between the buyer and the seller. Instead, conventional HTML form submission or other Internet communication methods are typically used. Similarly, because Payment Processors often differ considerably in the formats they specify for payment requests, XMLPay server logic is usually localized at the Payment Gateway, leaving the legacy connections between gateways and processors unchanged.
XMLPay Developer’s Guide 11
XMLPay Overview
XMLPay
Payment Gateway
Sellers
Buyers
Payment
Processor
Financial networks
Trading
Exchange
1

XMLPay Messaging

Business-to-Business

When used in support of B2B transactions, the Seller does not typically initiate XMLPay requests. Instead, an aggregator or trading exchange uses XMLPay to communicate business­focused purchasing information (such as level 3 corporate purchase card data) to a payment gateway.
In this way, the Trading Exchange links payment execution to other XML-based communications between Buyers and Sellers such as Advance Shipping Notice delivery, Purchase Order communication, or other B2B communication functions.
XMLPay Messaging
The highest-level XMLPay structures represent payment transaction requests and responses.
12 XMLPay Developer’s Guide

XMLPayRequest

<RequestData>
<MerchantId>
<Transactions>
<RequestAuth>
<XMLPayRequest>
Payment transactions are submitted, one or more at a time, as XMLPayRequest documents. The high-level structure of a request looks like this:
XMLPay Overview
XMLPay Messaging
1
Merchant ID identifies the merchant of record for the transaction within the target payment processing network. The merchant of record may be different from the submitting party in a delegated processing model.
Transactions is the list of payment transactions to be processed. XMLPay supports up to 32 transactions per XMLPay document submission.
RequestAuth is an optional structure used to authenticate the submitting party, in the absence of transport level authentication.
See Chapter 2, “XMLPay Syntax,” for a detailed description of request documents.

XMLPayResponse

Each XMLPayRequest submission produces a corresponding XMLPayResponse document containing results for each submitted transaction request. The high-level structure of a response looks like this:
XMLPay Developer’s Guide 13
XMLPay Overview
<ResponseData>
<MerchantId>
<TransactionResults>
<Signature>
<XMLPayResponse>
<TransactionReceipts>
1
XMLPay Messaging
NOTE: Signature and TransactionReceipts are not supported on the Payment server.
See Chapter 2, “XMLPay Syntax,” for a detailed description of response documents.
14 XMLPay Developer’s Guide

XMLPay Syntax

2
This chapter presents the syntax for transaction requests and responses using a simplified notation.
z Appendix A, “XMLPay Schemas,” provides the complete syntax, expressed in W3C
XML-schema notation.
z Appendix B, “XMLPay DTD,” provides a document type definition (DTD) representation
of the schema.

Syntax Notation

The following example presents the notation used to describe XMLPay document:
<Example>
(element) (optionalElement)? (alternativeElement1|alternati veElement2) (element)+ (element)*
</Example>
element Indicates the occurrence of a (possibly complex) XML element (for
example, <element>...</element>) defined elsewhere.
? Indicates an optional element. | Separates alternative elements, any one of which is allowed. + Indicates that one or more occurrences of an element are allowed. * Indicates that zero or more occurrences of an element are allowed.
NOTE: The Payflow SDK SDK download package provides specific examples of XML
documents using the Pro client service.

The XMLPayRequest Document (Transactions)

<XMLPayRequest Timeout="30" ve rsion = "2.0">
<RequestData>
(Vendor)
(Partner)
<Transactions>
XMLPay Developer’s Guide 15
XMLPay Syntax
2
The XMLPayRequest Document (Transactions)
(Transaction)+
</Transactions> </RequestData> (RequestAuth)?
</XMLPayRequest>
Attribute Description
Vendor Iden tifies the merchant of record for the transaction within the target
Partner Identifies the submitting party. Transaction Defined on page 16. XMLPay supports up to 32 transactions per
RequestAuth Defined on page 21. Timeout The value of this attribute is ignored.
payment processing network. In a delegated processing model, the merchant of record may be different from the submitting party.
XMLPay document submission.

Transaction

XMLPay supports up to 32 transactions per XMLPay document submission.
<Transaction Id=? CustRef=?>
</Transaction>
Attribute Description
Id
(Authorization|Capture|Sale|Cr edit|Void| ForceCapture|RepeatSale|GetSta tus| VerifyEnrollment|ValidateAuthe ntication| TransactionUpdate|SetExpressCh eckout| GetExpressCheckout|DoExpressCh eckout)
Optional attribute that tracks the transaction through the payment-
processing network. The submitting merchant generates this transaction identifier, which must be unique among all transactions submitted by that merchant.
Id need not be globally unique across merchants, since the payment­processing network interprets it within the context of the merchant associated with the transaction. If an Id attribute is provided in a transaction, it will be included in the matching TransactionResult in the resultant XMLPayResult.
Similarly, CustRef is a merchant-generated ID identifying a specific customer of this merchant and associating it with this transaction.
Authorization Transaction
An authorization transaction verifies the availability of funds and reserves them for later capture.
16 XMLPay Developer’s Guide
XMLPay Syntax
The XMLPayRequest Document (Transactions)
<Authorization>
<PayData>
(Invoice)
(Tender) </PayData> (ExtData)*
</Authorization>
Attribute Description
PayData Specifies the details of the purchase, within Invoice, as well as the
payment Tender to use.
ExtData Optional element that may carry extended data (outside the syntax of the
XMLPay schema).
Capture Transaction
A capture transaction transfers the funds secured by a previous authorization transaction, identified by PNRef, into the merchant’s account.
2
<Capture>
(PNRef) (Invoice)? (ExtData)*
</Capture>
Attribute Description
Invoice An updated Invoice may optionally be provided, specifying any changes
in the purchase details from the original invoice in the reference authorization.
ExtData Optional element that may carry extended data (outside the syntax of the
XMLPay schema).
Sale Transaction
A sale transaction verifies the availability of funds and captures funds in one step.
<Sale>
<PayData>
(Invoice)
(Tender) </PayData> (ExtData)*
</Sale>
Attribute Description
PayData Specifies the details of the purchase, within Invoice, as well as the
payment Tender to use.
XMLPay Developer’s Guide 17
XMLPay Syntax
2
The XMLPayRequest Document (Transactions)
Attribute Description
ExtData Optional element that may carry extended data (outside the syntax of the
Credit Transaction
A credit transaction reverses a previous sale or capture transaction.
<Credit>
(PNRef|Tender) (Invoice)? (ExtData)*
</Credit>
Attribute Description
PNRef|Tender The transaction to be credited is identified by PNRef. Acredit may be run
Invoice In the case of a partial credit, you must provide Invoice and provide
XMLPay schema).
without a PNRef by providing the Tender for the account to be credited and Invoice for the amount.
details on the items being returned.
ExtData Optional element that may carry extended data (outside the syntax of the
XMLPay schema).
Void Transaction
A void transaction cancels a pending sale, capture, or credit.
<Void>
(PNRef) (ExtData)*
</Void>
Attribute Description
PNRef The transaction to be cancelled is identified by PNRef. If the referenced
transaction has already been processed, the void fails.
SetExpressCheckout Transaction
SetExpressCheckout indicates to the server that you are using Express Checkout to obtain payment from your customer.
<SetExpressCheckout>
(Authorization|Sale) (ExtData)*
18 XMLPay Developer’s Guide
XMLPay Syntax
The XMLPayRequest Document (Transactions)
</SetExpressCheckout>
Attribute Description
Authorization The Express Checkout transaction: an authorization for payment or a
sale.
ExtData Optional element that may carry extended data (outside the syntax of the
XMLPay schema).
GetExpressCheckout Transaction
GetExpressCheckout returns information about the customer using Express Checkout, including the name and address on file at PayPal.
<SetExpressCheckout>
(Authorization|Sale) (ExtData)*
</SetExpressCheckout>
Attribute Description
2
Authorization The Express Checkout transaction: an authorization for payment or a
sale.
ExtData Optional element that may carry extended data (outside the syntax of the
XMLPay schema).
DoExpressCheckout Transaction
DoExpressCheckout obtains payment through Express Checkout for a Sale transaction or requests an Authorization for a later capture of payment.
<DoExpressCheckout>
(Authorization|Sale) (ExtData)*
</DoExpressCheckout>
Attribute Description
Authorization The Express Checkout transaction to be carried out: an authorization for
payment or a sale.
ExtData Optional element that may carry extended data (outside the syntax of the
XMLPay schema).
ForceCapture Transaction
A ForceCapture transaction captures funds reserved through an out-of-band authorization (for example, a voice authorization received over the phone).
<ForceCapture>
<PayData>
(Invoice)
XMLPay Developer’s Guide 19
XMLPay Syntax
2
The XMLPayRequest Document (Transactions)
(Tender) </PayData> (AuthCode) (ExtData)*
</ForceCapture>
Attribute Description
AuthCode Authorization code received out-of-band. PayData Specifies the details of the purchase, within Invoice, as well as the
ExtData Optional element that may carry extended data (outside the syntax of the
GetStatus Transaction
A GetStatus transaction queries the status of a previous transaction.
<GetStatus>
(PNRef) (ExtData)*
</GetStatus>
payment Tender to use.
XMLPay schema).
Attribute Description
PNRef The transaction to query is identified by PNRef. ExtData Optional element that may carry extended data (outside the syntax of the
XMLPay schema).
VerifyEnrollment Transaction
For the Buyer Authentication Service, this transaction is used to determine whether the card holder is enrolled in the 3D-Secure program.
Refer to Payflow Pro Fraud Protection Services User’s Guide on the sequence of steps involved in performing a Buyer Authentication transaction. This transaction is submitted only to the Buyer Authentication server and not to the core OLTP server.
<VerifyEnrollment>
<PayData> (Invoice) (Tender) </PayData> (ExtData)*
</VerifyEnrollment>
Attribute Description
PayData Specifies the details of the credit card used in the purchase.
20 XMLPay Developer’s Guide
XMLPay Syntax
The XMLPayRequest Document (Transactions)
Attribute Description
ExtData Optional element that may carry extended data (outside the syntax of the
XMLPay schema).
ValidateAuthentication Transaction
For the Buyer Authentication Service, this transaction validates the signature on the PARes data returned by the issuing bank and parses the authentication information. Refer to Payflow Pro Fraud Pr otection Services User’s Guide on the sequence of steps involved in performing a Buyer Authentication transaction.
<ValidateAuthentication>
<PARes> (ExtData)*
</ValidateAuthentication>
Attribute Description
PARes The authentication data returned by Issuer's ACS.
2
ExtData Optional element that may carry extended data (outside the syntax of the

RequestAuth

The RequestAuth element provides authentication of the requestor through either a username and password, using UserPass, or a digital signature, using Signature.
<RequestAuth>
</RequestAuth>
In the case of a digital signature, the W3C XML Signature syntax is used and the signature is executed over the RequestData.
UserPass
<UserPass>
</UserPass>
Attribute Description
XMLPay schema).
(UserPass|Signature)
(User) (UserDomain)? (Password)
User String identifier assigned to a user. UserDomain Names a partner or a vendor under whose auspice a transaction is being
submitted.
Password User's password (string).
XMLPay Developer’s Guide 21
XMLPay Syntax
2

The XMLPayRequest Document (Recurring Profiles)

The XMLPayRequest Document (Recurring Profiles)
A RecurringProfile transaction defines a scheduled payment that enables you to automatically bill your customers at regular intervals.
<XMLPayRequest Timeout="30" ve rsion = "2.0">
<RequestData>
(Vendor)
(Partner)
<RecurringProfiles>
(RecurringProfile)+
</RecurringProfiles> </RequestData> (RequestAuth)?
</XMLPayRequest>
Attribute Description
Vendor Iden tifies the merchant of record for the transaction within the target
payment processing network. In a delegated processing model, the merchant of record may be different from the submitting party.
Partner Identifies the submitting party. RecurringProfile Defined on page 22. RequestAuth Defined on page 21. Timeout The value of this attribute is ignored.

RecurringProfile

<Profile Id=? CustRef=?>
(Add|Modify|Cancel|Reactivate| Payment|Inquiry
</Profile>
Attribute Description
Id
Optional attribute that tracks the transaction through the payment-
processing network. The submitting merchant generates this transaction identifier, which should be unique among all transactions submitted by that merchant.
Id need not be globally unique across merchants, since the payment­processing network interprets it within the context of the merchant associated with the transaction. If an Id attribute is provided in a transaction, it will be included in the matching TransactionResult in the resultant XMLPayResult.
Similarly, CustRef is a merchant-generated ID identifying a specific customer of this merchant and associating it with this transaction.
22 XMLPay Developer’s Guide
XMLPay Syntax
The XMLPayRequest Document (Recurring Profiles)
Add Recurring Profile
Add a new recurring profile either by sending all data required to defin e the profile or by converting an existing transaction into a profile.
<Add>
(RPData) (Tender)
</Add>
Attribute Description
RPData Describes recurring profile details. Defined on page 36. Tender Specifies type of payment
Modify Recurring Profile
Modify any profile value by sending any subset of the profile parameters, including an Optional Transaction.
2
<Modify>
(RPData) (Tender) (ProfileID)
</Modify>
Attribute Description
RPData Describes recurring profile details. Defined on page 36. Tender Specifies type of payment ProfileID Profile ID of the profile that you want to modify.
Cancel Recurring Profile
Cancel (deactivate) a recurring profile.
<Cancel>
(ProfileID)
</Cancel>
Attribute Description
ProfileID Profile ID of the profile that you want to cancel.
Reactivate Recurring Profile
Reactivate a profile with an inactive status. Profiles can be deactivated for the following reasons: the term has completed, the profile reached maximum allowable payment failures, or the profile was canceled.
XMLPay Developer’s Guide 23
XMLPay Syntax
2
The XMLPayRequest Document (Recurring Profiles)
<Reactivate>
(RPData) (Tender) (ProfileID)
</Reactivate>
Attribute Description
RPData Describes recurring profile details. Defined on page 36. Tender Specifies type of payment ProfileID Profile ID of the profile that you want to reactivate.
Payment Recurring Profile
The Payment action performs a real-time retry on a previously failed transaction.
<Payment>
(RPData) (Tender) (ProfileID)
</Payment>
Attribute Description
RPData Describes recurring profile details. Defined on page 36. Tender Specifies type of payment ProfileID Profile ID of the profile you want to retrying payment for.
Inquiry Recurring Profile
Inquire about the status of a profile.
<Inquiry>
(ProfileID)
</Inquiry>
Attribute Description
ProfileID Profile ID of the profile you want to review.
24 XMLPay Developer’s Guide

Core Structures

PayData

<PayData>
(Invoice) (Tender)
</PayData>
Attribute Description
Invoice Describes the details of a purchase. Defined on page 25. Tender Describes the payment instrument. Defined on page 32.

PayDataAuth

XMLPay Syntax
Core Structures
2

Invoice

The PayDataAuth element provides authentication of the payer for an associated PayData, using either a PKCS-7 format or a W3C XML Signature format digital signature.
<PayDataAuth>
(PKCS7Signature|Signature)
</PayDataAuth>
<Invoice>
(CustIP)* (MerchantDescription)* (MerchantServiceNum)* (Recurring)* (InvNum)? (OrigInvNum)* (Date)? (OrderDateTime)* <BillFrom>
(Name)?
(Address)?
(EMail)?
(Phone)?
(Fax)?
(URL)? </BillFrom> <BillTo>
(CustomerId)*
(Name)?
(Address)?
XMLPay Developer’s Guide 25
XMLPay Syntax
2
Core Structures
(EMail)?
(Phone)?
(Phone2)?
(Fax)?
(CustCode)?
(PONum)?
(TaxExempt)?
(PhoneType)? </BillTo> <ShipCarrier/>? <ShipMethod/>? <ShipFrom>
(Name)?
(Address)?
(EMail)?
(Phone)?
(Fax)?
(ShipFromEU)? </ShipFrom> <ShipTo>
(Name)?
(Address)?
(EMail)?
(Phone)?
(Phone2)
(Fax)?
(ShipToEU)? </ShipTo> (Description)* (Items)* (DiscountAmt)? (ShippingAmt)? (DutyAmt)? (TaxAmt)? (NationalTaxIncl)? (TotalAmt)? (FreightAmt)? (HandlingAmt)? (ItemAmt)? (Comment)? (Level3Invoice) (Memo) (Custom) (OrderDesc) (ExtData)* (MerchantInfo)* (AdditionalAmounts)* (SKU)* (CustomerHostName)* (CustomerBrowser)*
</Invoice>
26 XMLPay Developer’s Guide
XMLPay Syntax
Core Structures
Attribute Description
CustIP Customer IP address (filter transactions). MerchantDescripton Merchant descriptor. For example, ABCCMPY*FALLCATALOG MechantServiceNum Merchant telephone number. For example, 603-555-1212 Recurring Identifies the transaction as recurring. This value does not activate the
Recurring Billing Service. If the RECURRING parameter was set to Y for the original transaction, then the setting is ignored when forming Credit, Void, and Force transactions. If you subscribe to the Fraud Protection Services: T o avoid charging you to filter recurring transactions that you know are reliable, the fraud filters do not screen recurring transactions. To screen a prospective recurring customer, submit the transaction data using PayPal Manager's Transaction Terminal page. The filters screen the transaction in the normal manner. If the transaction triggers a filter, then you can follow the normal process to review the filter results. Format: Y or N
2
InvNum Invoice number. OrigInvNum Date Invoice date: YYYYMMDD, ISO 8601. OrderDateTime BillFrom Name,
Address, EMail, Phone, Fax, and URL
BillTo CustomerId, Name, Address, EMail, Phone, Phone2, PhoneType, and Fax
BillTo PONum Buyer's purchase order number. BillTo TaxExempt Indicates that the buyer is a tax exempt entity. ShipCarrier Shipping carrier. ShipMethod Shipping method. ShipFrom and ShipTo Information about the shipping addresses, if different from BillFrom and
Information about the biller.
Information about the buyer.
BillTo respectively.
Description Summary description of the purchase. This field, in the case of an Amex
purchase card, can contain up to four separate descriptions of 40 characters each.
Items Full line-item breakdown of the purchase. Defined on page 28.
XMLPay Developer’s Guide 27
XMLPay Syntax
2
Core Structures
Attribute Description
DiscountAmt Discount to be applied to the item subtotal. ShippingAmt T o tal of shipping and handling charges. For separate shipping and
handling amounts, use FreightAmt and HandlingAmt, respectively. DutyAmt Duty fees (if applicable) TaxAmt Total of all taxes. NationalTaxIncl Boolean which when true, indicates that the national tax in included in
the TaxAmt. TotalAmt Grand total (item subtotal - DiscountAmt + ShippingAmt (or
HandlingAmt + FreightAmt) + DutyAmt + TaxAmt). FreightAmt Shipping charges without handling included. HandlingAmt Handling charges without shipping included. ItemAmt Sum of cost of all items in this order.

Items

Comment Free-form comment about the purchase. Level3Invoice See Table 3.3, “Level 3 (commercial) credit card transaction parameters”
on page 52.
Memo Custom memo about the credit. Custom Free-form field for your own use, such as a tracking number or other
value you want PayPal to return in the GetExpressCheckout response.
OrderDesc Description of items the customer is purchasing. ExtData Optional element that may carry extended data (outside the syntax of the
XMLPay schema).
MerchantInfo Merchant name and location defined on page 30. AdditionalAmounts Detail of a charge for additional breakdown of the amount, defined in
“AdditionalAmounts” on page 31.
SKU Merchant product SKU. CustomerHostName Name of the server that the account holder is connected to. CustomerBrowser Account holder’s HTTP browser type
Items is a list of line item detail records. Item is defined below.
<Items>
(Item)+
</Items>
28 XMLPay Developer’s Guide
XMLPay Syntax
Core Structures
Item
<Item Number=>
(SKU)? (UPC)? (Description)? (Quantity)? (UnitOfMeasurement)? (UnitPrice)? (DiscountAmt)? (TaxAmt)? (ShippingAmt)? (FreightAmt)? (HandlingAmt)? (TotalAmt)? <PickUp>
(Address)? (Time)? (Date)?
(RecordNumber)? </PickUp> <Delivery>
(Date)?
(Time)? </Delivery> (CostCenterNumber)? (TrackingNumber)? (CatalogNumber)? (UNSPSCCode)? (ExtData)*
</Item>
2
Attribute Description
Number Line number for the item in the invoice. SKU Merchant's product code for the item (stock keeping unit). UPC Item's universal product code. Description Item's description. Quantity Number of units of this item. UnitOfMeasurement provides the
units for Quantity (ISO 31).
UnitPrice Cost of each unit. DiscountAmt Discount to be applied to this line item. TaxAmt Total of all taxes for this line item.
XMLPay Developer’s Guide 29
XMLPay Syntax
2
Core Structures
Attribute Description
ShippingAmt Total of shipping and handling charges. For separate shipping
and handling amounts, use FreightAmt and HandlingAmt, respectively.
FreightAmt Shipping charges without handling included. HandlingAmt Handling charges without shipping included. TotalAmt Total amount including tax and discount for this line item:
(Quantity * UnitPrice) + TaxAmt - DiscountAmt.
PickUp Address, Time, Date, and RecordNumber
Delivery Date and Time Expected delivery date and time. CostCenterNumber Purchaser's department number to which the item will be billed. TrackingNumber Shipper’s tracking code CatalogNumber Merchant’s product code (SKU may also be used for the same
UNSPSCCode Universal Standard Products and Services Classification. Global
ExtData Optional element that may carry extended data (outside the

MerchantInfo

<MerchantInfo>
</MerchantInfo>
Shipment pickup information
purpose).
marketplace classification system developed and managed by the Electronic Commerce Code Management Association (ECCMA).
syntax of the XMLPay schema).
(MerchantName)? (MerchantStreet)? (MerchantCity)? (MerchantState)? (MerchantCountryCode)? (MerchantZip)?
Attribute Description
MerchantName Merchant’s name. MerchantStreet Merchant’s street address, including number . MerchantCity Merchant’s city name. MerchantState Merchant’s state or province. For US addresses, two character s tate codes
should be used.
30 XMLPay Developer’s Guide
Attribute Description
MerchantCountryCode Merchant’s country code (ISO 3166). Default is US. MerchantZip Merchant’s postal code.

AdditionalAmounts

<AdditionalAmounts>
(Amount1)? (Amount2)? (Amount3)? (Amount4)? (Amount5)?
</AdditionalAmounts>
Attribute Description
Amount1
XMLPay Syntax
Core Structures
2

Address

Amount2 Amount3 Amount4 Amount5
<Address>
(Street)? (City)? (State)? (Zip)? (Country)?
</Address>
Attribute Description
Street Street address, including number. City City name. State State or province. For US addresses, two character state codes should be
used.
Zip Postal code. Country Country code (ISO 3166). Default is US.
XMLPay Developer’s Guide 31
XMLPay Syntax
2
Core Structures

Tender

<Tender>
(ACH|Card|Check|Debit|PayPal)
</Tender>
ACH
ACH (Automated Clearing House) tender detail.
<ACH>
(AcctType) (AcctNum) (ABA) (Prenote)? (AuthType) (CheckNum) (TermCity) (TermState) (DL) (SS) (DOB) (DLState) (BankName) (SellerMsg) (BusName) (ExtData)*
</ACH>
Attribute Description
AcctType Type of the bank account: checking or savings. AcctNum Account number. ABA Bank routing number. AuthType Method of authorization. Prenote Boolean. If true, then the purpose of this transaction is not to move
money, but to establish authorization for future transactions to be submitted on a recurring basis.
ExtData Optional element that may carry extended data (outside the syntax of the
XMLPay schema).
Card
Retail Credit/Debit and Corporate Purchase Card tender detail.
<Card>
(CardType) (CardNum) (ExpDate)
32 XMLPay Developer’s Guide
XMLPay Syntax
Core Structures
(CVNum)? (MagData)? (NameOnCard)? (ExtData)*
</Card>
Attribute Description
CardType Optional. Identifies the type of card for the merchant’s records. Card
types are: Visa MasterCard Amex JCB Discover DinersClub The server does not use this value, but rather uses the card number to
determine the card type.
2
CardNum Account num ber. ExpDate Card expiration date: YYYYMM or ISO 8601. CVNum Card verification number (typically printed on the back of the card, but
not embossed on the front).
MagData Data located on the magnetic strip of a credit card. NameOnCard Card holder's name as printed on the card. ExtData Optional element that may carry extended data (outside the syntax of the
XMLPay schema).
Check
Check tender detail.
<Check>
(CheckType) (CheckNum) (MICR) (DL)? (SS)? (DOB)? (ExtData)*
</Check>
Attribute Description
CheckType Indicates the type of the check: corporate, personal, or government. CheckNum Account holder's next unused check number.
XMLPay Developer’s Guide 33
XMLPay Syntax
2
Core Structures
Attribute Description
MICR Magnetic Ink Check Reader (MICR) is the entire line of numbers at the
bottom of the check. It includes the transit number, account number, and check number.
DL Account holder's driver's license number. XxNnnnnnnn format, where
Xx is the state code; Nnnnnnnn is the number SS Account holder's social security number. DOB Account holder's date of birth YYYYMMDD, ISO 8601 ExtData Optional element that may carry extended data (outside the syntax of the
XMLPay schema).
PayPal
PayPal tender detail.
<PayPal>
(EMail)* (PayerID)* (Token)* (ReturnURL)* (CancelURL)* (NotifyURL)* (ReqConfirmShippiing)* (NoShipping)* (AddressOverride)* (LocaleCode)* (PageStyle)* (HeaderImage)* (HeaderBorderColor)* (HeaderBackColor)* (PayflowColor)* (ButtonSource)* (ExtData)*
</PayPal>
Attribute Description
EMail Email address of customer as entered during checkout. PayPal uses this
value to pre-fill the PayPal membership signup portion of the PayPal
login page.
PayerId Unique encrypted PayPal customer account identification number Token A string value returned by Set Express Checkout response.
34 XMLPay Developer’s Guide
XMLPay Syntax
Core Structures
Attribute Description
ReturnURL URL to which the customer’s browser is returned after approving use of
PayPal.
Set RETURNURL to your order review page or the page on which the
customer clicked the “Edit Shipping” button or hyperlink. NotifyURL Your URL for receiving Instant Payment Notification (IPN) about this
transaction. ReqConfirmShipping Is 1 or 0. The value 1 indicates that you require that the customer’s
shipping address on file with PayPal be a confirmed address.
Setting this element overrides the setting you have specified in your
Merchant Account Profile. NoShipping Is 1 or 0. The value 1 indicates that on the PayPal pages, no shipping
address fields should be displayed whatsoever. AddressOverride Is 1 or 0. The value 1 indicates that the PayPal pages should display the
shipping address set by you in the shipping address (SHIPTO*
parameters) passed to this Set Express Checkout request, not the shipping
address on file with PayPal for this customer.
Displaying the PayPal street address on file does not allow the customer
to edit that address.
2
LocaleCode Locale of pages displayed by PayPal during Express Checkout. PageStyle Sets the Custom Payment Page Style for payment pages associated with
this button/link. PageStyle corresponds to the HTML variable page_style
for customizing payment pages.
The value is the same as the Page Style Name you chose when adding or
editing the page style from the Profile subtab of the My Account tab of
your PayPal account. HeaderImage A URL for the image you want to appear at the top left of the payment
page. The image has a maximum size of 750 pixels wide by 90 pixels
high. PayPal recommends that you provide an image that is stored on a
secure (https) server. HeaderBorderColor Sets the border color around the header of the payment page. The border
is a 2-pixel perimeter around the header space, which is 750 pixels wide
by 90 pixels high.
HeaderBackColor Sets the background color for the header of the payment page. PayflowColor Sets the background color for the payment page. ButtonSource Identificati on code for use by thi rd-party applications to identify
transactions. ExtData Optional element that may carry extended data (outside the syntax of the
XMLPay schema).
XMLPay Developer’s Guide 35
XMLPay Syntax
2
Core Structures

RPData

Recurring Profile payment and scheduling details.
<RPData>
(Name)? (TotalAmt)? (Start)? (Term)? (PayPeriod)? (MaxFailPayments)? (RetryNumDays)? (EMail)? (CompanyName)? (Comment)? (OptionalTrans)? (OptionalTransAmt)? <BillTo>
(Name)? (Address)? (Phone)?
(Fax)? </BillTo> <ShipTo>
(Name)?
(Address)?
(Phone)?
(Fax)? </ShipTo> (OrigProfileID)? (PaymentNum)? (ExtData)*
</RPData>
Attribute Description
Name Account holder's name. TotalAmt Dollar amount (US dollars) to be billed. Start Beginning (or restarting) date for the recurring billing cycle used to
calculate when payments should be made.
Term Number of payments to be made over the life of the agreement. PayPeriod Specifies how often the payment occurs. MaxFailPayments The number of payment periods (specified by PayPeriod) for which the
transaction is allowed to fail before PayPal cancels a profile.
RetryNumDays The number of consecutive days that PayPal should attempt to process a
failed transaction until Approved status is received.
36 XMLPay Developer’s Guide
XMLPay Syntax

The XMLPayResponse Document (Transactions)

Attribute Description
EMail Customer e-mail address. CompanyName Company name for this profile. Comment Free-form comment about the purchase. OptionalTrans Defines an optional Authorization for validating the account information
or for charging an initial fee.
OptionalTransAmt Amount of the Optional Transaction.
2

ExtData

BillTo Name, Address, Phone, and Fax
ShipTo Name, Address, Phone, and Fax
OrigProfileID Profile ID of the profile that gets the action. PaymentNum Payment number identifying the failed payment to be retried. ExtData Optional element that may carry extended data (outside the syntax of the
<ExtData Name= Value= />
Attribute Description
Name Name of the extended data element. Value Value of the extended data element.
Information about the buyer.
Information about the shipping addresses, if different from BillTo.
XMLPay schema).
The XMLPayResponse Document (Transactions)
<XMLPayResponse>
<ResponseData>
(Vendor)
(Partner)
<TransactionResults>
(TransactionResult)+
</TransactionResults> </ResponseData> (Signature)? (TransactionReceipts)?
XMLPay Developer’s Guide 37
XMLPay Syntax
2
The XMLPayResponse Document (Transactions)
</XMLPayResponse>
Attribute Description
Vendor Iden tifies the merchant of record for the transaction within the payment
Partner Identifies the partner who submitted the transaction on behalf of the
TransactionResult Defined on page 38. Signature Optional signature over ResponseData, executed by the payment
TransactionReceipts Optional list of receipts from the payment processing network.
processing network.
vendor.
processing gateway using the W3C XML Signature syntax. This signature may be used to provide integrity protection of the response data and/or authentication of the responder, if needed (transport-level security may also be used to provide these protections).

TransactionResult

<TransactionResult Id=?>
(Result) (BuyerAuthResult)? (ProcessorResult)? (FraudPreprocessorResult)? (FraudPostprocessorResult)? (CardSecure)? (IAVSResult)? (AVSResult)? (CVResult)? (Message)? (PNRef)? (AuthCode)? (HostCode)? (HostURL)? (OrigResult)? (Status)? (ReceiptURL)? (ACHStatus)? (OrigPNRef)? (OrigMessage)? (PayPalResult)? (ExtData)*
</TransactionResult>
38 XMLPay Developer’s Guide
XMLPay Syntax
The XMLPayResponse Document (Transactions)
Element Description
Result Number that indicates outcome of the transaction (see Appendix C,
“Transaction Results”).
BuyerAuthResult Results of the VerifyEnrollment or ValidateAuthentication
transaction.
ProcessorResult Processor-specific information. Only received if Verbosity is set to
High.
FraudPreprocessorResult Results from the Fraud Protection Service pre-process stage. FraudPostprocessorResult Results from the Fraud Protection Service post-process stage. CardSecure CAVV inform ation returned from the processor. IAVSResult International AVS result value, if appropriate. AVSResult Results of the AVS check, if appropriate. CVResult Results of the CV check, if appropriate. Possible values: match, no
match, service not available, or service not requested.
2
Message Descriptive message describing Result. PNRef Identifier assigned to the transaction by the payment processing
network.
AuthCode Authorization code for the transaction provided by the bank, if any. HostCode Result code returned by the payment processor, if any. Whereas
Result provides a normalized view the transaction status, HostCode
passes through the back-end processor status unmodified.
HostURL URL returned by the payment processor, if any, to use in referring to
the transaction.
OrigResult Original result for a transacti on queried with GetStatus. Status Current status for a transaction queried with GetStatus. ACHStatus Status of the ACH transaction (returned by Inqui ry transaction). OrigPNRef The PNRef value associated with the original transaction (returned
by Inquiry transaction).
OrigMessage The Message value associated with the original transaction
(returned by Inquiry transaction).
PayPalResult ReceiptURL URL returned by the payment processor, if any, to use i n referring to
a receipt for the transaction.
XMLPay Developer’s Guide 39
XMLPay Syntax
2
The XMLPayResponse Document (Transactions)
Element Description
ExtData Optional element that may carry extended data (outside the syntax
Attribute Description
Result Number that indicates outcome of the transaction (see Appendix C,
CustRef Reference string that identifies the customer. Duplicate Id entify if the transaction has been run before.
AVSResult
<AVSResult>
(StreetMatch) (ZipMatch)
</AVSResult>
of the XMLPay schema).
“Transaction Results”).
Attribute Description
StreetMatch Indicates whether or not the billing street address matched the bank 's
records. Possible values: match, no match, service not available, or service not requested.
ZipMatch Indicates whether or not the billing zip matched the bank's records.
Possible values: match, no match, service not available, or service not requested.
PayPalResult
<PayPalResult>
(EMail?) (PayerID?) (Token?) (PPRef?) (FeeAmount) (PayerStatus?) (PaymentType?) (PendingReason?) (Custom?) (InvNum?) (Phone?) (Name?) (ShipTo?) (CorrelationID?)
</PayPalResult>
40 XMLPay Developer’s Guide
XMLPay Syntax

The XMLPayResponse Document (Recurring Profiles)

Attribute Description
Email Customer’s email address. PayerID Unique encrypted PayPal customer account iden tification number Token Value PayPal originally returns in Set Express Checkout response after
your first call to the Set Express Checkout request.
PPRef Unique transaction ID of the payment.
If the request ACTION was A (Authorization), you should store the value of PPREF if you need to research a specific transaction with PayPal.
FeeAmount PayPal fee amount char ged for the transaction. PayerStatus Status of payer. PaymentType Indicates whether the payment is instant or delayed. PendingReason The reason the payment is pending. Values are: none, echeck, intl, multi-
currency, verify, other, and completed.
2
Custom Free-form field for your own use. InvNum Merchant invoice number. The merchant invoice number is used for
authorizations and settlements and, depending on your merchant bank, will appear on your customer's credit card statement and your bank reconciliation report. If you do not provide an invoice number, the transaction ID (PNREF) will be submitted.
Phone Account holder’s telephone number. ShipTo Name, Address,
EMail, Phone, Phone2, Fax, and ShipToEU
CorrelationID Value used for tracking this Direct Payment transaction.
Information about the shipping addresses, if different from BillTo.
The XMLPayResponse Document (Recurring Profiles)
<XMLPayResponse>
<ResponseData>
(Vendor)
(Partner)
<RecurringProfileResults>
(RecurringProfileResult)+
</RecurringProfileResults> </ResponseData> (Signature)? (TransactionReceipts)?
XMLPay Developer’s Guide 41
XMLPay Syntax
2
The XMLPayResponse Document (Recurring Profiles)
</XMLPayResponse>
Attribute Description
Vendor Identifies the merchant of record for the transaction within the
Partner Identifies the partner who submitted the transaction on behalf of the
RecurringProfileResult Defined on page 43. Signature Optional signature over ResponseData, executed by the payment
TransactionReceipts Optional list of receipts from the payment processing network.
payment processing network.
vendor.
processing gateway using the W3C XML Signature syntax. This signature may be used to provide integrity protection of the response data and/or authentication of the responder, if needed (transport-level security may also be used to provide these protections).

BuyerAuthResult

Response for Buyer Authentication transactions, VerifyEnrollment and ValidateAuthentication.
<BuyerAuthResult>
(Status) (AuthenticationId)? (PAReq)? (ACSUrl)? (ECI)? (CAVV)? (XID)?
</BuyerAuthResult>
Attribute Description
Status Status of the transaction. AuthenticationId Message id for the response. PAReq Payer authentication request returned if cardholder is enrolled. ACSUrl The issuer ACS URL at which the cardholder would authenticate by
providing the password.
ECI The Electronic Commerce Indicator value that implies the authentication
outcome. Defaulted to 7 since cardholder has not authenticated yet.
CAVV Cardholder Authentication Verification Value. XID Transaction ID.
42 XMLPay Developer’s Guide

RecurringProfileResult

Non-Inquiries
Response for Add, Modify, Cancel, Reactivate, and Payment actions.
<RecurringProfileResult Id=?>
(Result) (Message)? (ProfileID)? (RPRef)? (TransactionResult)? (ExtData)*
</RecurringProfileResult>
Attribute Description
Result Number that indicates outcome of the transaction (see Appendix C,
Message Descriptive message describing Result.
The XMLPayResponse Document (Recurring Profiles)
“Transaction Results”).
XMLPay Syntax
2
ProfileID Profile ID of the profile that gets the action. RPRef Identifier assigned to the transaction by the payment processing network. TransactionResult ExtData Optional element that may carry extended data (outside the syntax of the
XMLPay schema).
Id Identifier assigned to the transaction by the merchant (if one was
provided in the transaction request).
Inquiries
Response for Inquiry action.
<RecurringProfileResult Id=?>
(Result) (Message)? (ProfileID)? (RPRef)? (Status)? (Name)? (Start)? (Term)? (End)? (PayPeriod)? (MaxFailPayments)? (RetryNumDays)? (EMail)? (CompanyName)? (Amt)?
XMLPay Developer’s Guide 43
XMLPay Syntax
2
The XMLPayResponse Document (Recurring Profiles)
(PaymentsLeft)? (NextPayment)? (AggregateAmt)? (AggregateOptionalTransAmt)? (NumFailedPayments)? (Tender)? (BillTo)? (ShipTo)? (ExtData)*
</RecurringProfileResult>
Attribute Description
Result Number that indicates outcome of the transaction (see Appendix C,
Message Descriptive message describing Result. ProfileID Profile ID of the profile that gets the action. RPRef Identifier assigned to the transaction by the payment processing
“Transaction Results”).
network.
Status Current stat us of the profile. Name Account holder's name. Start Beginning (or restarting) date for the recurring billing cycle used to
calculate when payments should be made.
Term Number of payments to be made over the life of the agreement. End Date that the last payment is due. Present only if this is not an
unlimited-term subscription.
PayPeriod Specifies how often the payment occurs. MaxFailPayments The number of payment periods (specified by PayPeriod) for
which the transaction is allowed to fail before PayPal cancels a profile.
RetryNumDays The number of consecutive days that PayPal should attempt to
process a failed transaction until Approved status is received.
EMail Customer e-mail address. CompanyName Company name for this profile. Amt Dollar amount (US dollars) to be billed. PaymentsLeft Number of payments left to be billed. NextPayment Date that the next payment is due AggregateAmt Amount collected so far for scheduled payments.
44 XMLPay Developer’s Guide
XMLPay Syntax
The XMLPayResponse Document (Recurring Profiles)
Attribute Description
AggregateOptionalTransAmt Amount collected through sending optional transactions NumFailedPayments Number of payments that failed. Tender Specifies payment type. BillTo Information about the buyer. ShipTo Information about the shipping addresses, if different from BillTo. ExtData Optional element that may carry extend ed data (outside the syntax
of the XMLPay schema).
2
XMLPay Developer’s Guide 45
XMLPay Syntax
2
The XMLPayResponse Document (Recurring Profiles)
46 XMLPay Developer’s Guide

XMLPay Elements

3
The following tables define the existing Payflow SDK parameters (name/value pairs) and their XMLPay equivalent. Some parameters cannot be processed by specific processors. For details on what your processor can process, see Payflow Pro Developer’s Guide.
If you are developing applications that use the Recurring Billing Service, see Recurring Billing Service User’s Guide.That document provides detailed information about Payflow SDK parameters specific to Recurring Billing.
NOTE: ExtData is an optional XMLPay element for including parameter data not supported by
the schema you are using. Place the data at the appropriate element level in the XMLPay hierarchy. If you can’t find or are unsure of the appropriate location, place the data in the Invoice element. See the examples in “Express Checkout Authorization
Transaction” on page 84.

General Transaction Parameters

The following are general parameters accepted in Payflow SDK transactions.
TABLE 3.1 Retail c redit card transac tion paramete rs
Payflow SDK
Parameter Description XMLPay Element
COMMCARD Type of commercial card account number sent. Card COUNTRYCODE Destination country code. (See the appendix
entitled “ISO Country Codes” in the Payflow
Pro Developer’s Guide .) COMPANYNAME Billing country code BillTo CUSTIP IP address of customer Invoice ECI Values returned from Buyer Auth transaction Card MERCHDESCR Description of product. Invoice MERCHSVC Merchant telephone number, including area
code (XXX-XXX-XXXX) ORDERDATE Date of invoi ce Invoice RECURRING Recurring transaction? Invoice UPDATEACTION Update action to take TransactionUpdate
CommercialCard
ShipTo
AddressCountry
AddressCompany
CustIP
BuyerAuthResultECI
MerchantDescription
Invoice
MerchantServiceNum
DateRecurring
Action
VERBOSITY Verbosity level of response desired Transaction
XMLPay Developer’s Guide 47
Verbosity
XMLPay Elements
3

Credit Card Transaction Parameters

Credit Card Transaction Parameters
The following parameters are accepted in Payflow SDK credit card transactions.

Retail Credit Card Transaction Parameters

Table 3.2 lists retail credit card transaction parameters.
TABLE 3.2 Retail credit ca rd tran saction parameters
Payflow SDK Parameter Description XMLPay Element
ABA Bank routing number. ABA ACCT The credit card or purchase card number AcctNum or CardNum ACCTTYPE Type of the bank account. AcctType or CheckType AMT Amount in US dollars. Invoice AUTHCODE The approval code obtained over the phone
from the processing network. Used only when processing Voice Authorization
transactions. AUTHTYPE Method of authorization. AuthType CHKNUM Check number. CheckNum CHKTYPE Type of the bank account. AcctType CITY Cardholder’s city. City COMMCARD Type of commercial card account number
sent. COMMENT1 Merchant-defined value for reporting and
auditing purposes. COMMENT2 Merchant-defined value for reporting and
auditing purposes. COUNTRY Desti nati on country code. (See the appendix
entitled “ISO Country Codes” in the Payflow
Pro Developer’s Guide.) CUSTCODE Customer co de or customer reference ID. CustCode
TotalAmt
AuthCode
Card
CommercialCard
Comment
ExtData
Country
CUSTREF Merchant-defined identifier for reporting and
auditing purposes. CVV2 The 3 or 4-digit Card Security Code (CSC)
found on the back of a credit card. DESC General description of the transact ion. Item
CustRef
CVNum
Description
48 XMLPay Developer’s Guide
XMLPay Elements
Credit Card Transaction Parameters
T
ABLE 3.2 Retail credit ca rd tran saction parameters
Payflow SDK Parameter Description XMLPay Element
3
DESC1-4 Up to 4 additional lines describing the
transaction. DISCOUNT Discount amount on total sale. DiscountAmt DL Cardholder’s driver’s license number . DL DOB Cardholder’s date of birth. DOB DSGUID Transaction ID Id DUTYAMT Duty or import tax. DutyAmt EMAIL Email address. Email ENDTIME Specifies the end of the time period during
which the transaction specified by the
CUSTREF occurred. Optional for Inquiry
transactions when using CUSTREF to specify
the transaction. EXECUTOR Names a partner or a vendor under whose
auspice a transaction is being submitted. EXPDATE Expiration date of the credit card. ExpDate FIRSTNAME The cardh old e r’s name. Name or NameOnCard FREIGHTAMT Freight amount. FreightAmt or ShippingAmt
ItemDescription
ExtData
UserDomain
HANDLINGAMT Handling amount. Item INVNUM Merchant invoice number. Invoice INVOICEDATE Invoice date. Date L_AMT Total line item amount including tax and
discount. L_CARRIERSHIPMENTNUM Shipment number. ShipmentNumber L_CATALOGNUM Merchant’s product code. CatalogNumber L_COSTCENTERNUM Purchaser's department number to which the
item will be billed. L_COST Cost per item, excluding tax. UnitPrice L_DELIVERYDATE Delivery date. Date L_DELIVERYTIME Delivery time. Time L_DESC Item description. Item L_DISCOUNT Discount per line item. DiscountAmt L_FREIGHTAMT Line item freight amount. FreightAmt
HandlingAmt
InvNum
Invoice
TotalAmt
CostCenterNumber
Description
XMLPay Developer’s Guide 49
XMLPay Elements
3
Credit Card Transaction Parameters
ABLE 3.2 Retail credit ca rd tran saction parameters
T
Payflow SDK Parameter Description XMLPay Element
L_HANDLINGAMT Line item hand ling amount. ItemHandlingAmt L_PICKUPCITY Pickup city. City L_PICKUPCOUNTRY Pickup record number. Country L_PICKUPDATE Pickup date. Date L_PICKUPRECORDNUM Pickup record number. RecordNumber L_PICKUPSTATE Pickup state. State L_PICKUPSTREET Pickup address. Street L_PICKUP TIME Pickup time. Time L_PICKUPZIP Pickup postal code. Zip L_PRODCODE Supplier-specific product code. SKU L_QTY Line item quantity. Item L_SKU Line item SKU identifier. SKU L_TAXAMT Line item tax amount. Item L_TRACKINGNUM Tracking number. TrackingNumber L_UNSPSCCODE Universal Standard Products and Services
Classification. L_UOM Item unit of measure. UnitOfMeasurement L_UPC Item commodity code. UPC MICR Data located on the magnetic strip of a credit
card. NATINCL National tax included (true or false). NationalTaxIncl ORDERDATE Order date. ExtData ORIGID The Reference ID (PNREF) returned for all
transactions. PARTNER The ID provided to you by the authorized
Reseller who registered you for the Website
Payments Pro Payflow Edition service. If you
purchased your account directly from PayPal,
use PayPal.
This value is case-sensitive.
Quantity
TaxAmt
UNSPSCCode
MagData or MICR
PNRef
Partner
PHONENUM Telephone number. Phone PHONETYPE Telephone call type identifier BillTo
PhoneType
50 XMLPay Developer’s Guide
XMLPay Elements
Credit Card Transaction Parameters
T
ABLE 3.2 Retail credit ca rd tran saction parameters
Payflow SDK Parameter Description XMLPay Element
3
PONUM Specified by the cardholder to identify the
order. Usually used as a Purchase Order
number. PRENOTE Identifies the transaction as an authorization
for future transactions. PWD The 6- to 32-character password that you
defined while registering for the account.
This value is case-sensitive. RECURRING Identifies the transaction as recurring. ExtData SHIPFROMZIP Ship-from postal code. Zip SHIPTOCITY Ship-to city. ShipTo SHIPTOFIRSTNAME Ship-to name. Name SHIPTOSTATE Ship-to state. ShipTo SHIPTOSTREET Ship-to street. ShipTo SHIPTOZIP Ship-to postal code. ShipTo SS Cardholder’s Social Security Number. SS STARTTIME Specifies the beginning of the time period
during which the transaction specified by the
CUSTREF occurred. Optional for Inquiry
transactions when using CUSTREF to specify
the transaction.
BillToPONum
Prenote
Password
ExtData
AddressCity
AddressStateAddressStreetAddressZip
STATE Cardholder’s state. State STREET The cardholder’s street address (number and
street name). SWIPE Used to pass the Track 1 or Track 2 data (the
card’s magnetic stripe information) for card-
present transactions. TAXAMT Tax amount. Item TAXEXEMPT Tax exempt status. TaxExempt TENDER The method of payment. Tender
XMLPay Developer’s Guide 51
Street
MagData
TaxAmt
XMLPay Elements
3
Credit Card Transaction Parameters
T
ABLE 3.2 Retail credit ca rd tran saction parameters
Payflow SDK Parameter Description XMLPay Element
TRXTYPE The type of transaction. For XMLPay:
z Authorization z Capture z Sale z Credit z Voi d z ForceCapture z RepeatSale z GetStatus
USER If you set up one or more additiona l users on
XMLPay transaction type
UserName the account, this value is the ID of the user authorized to process transactions. If, however, you have not set up additional users on the account, USER has the same value as VENDOR.
This value is case sensitive.
VENDOR Your merchant login ID that you created
Vendor when you registered for the account.
This value is case sensitive.
ZIP The cardholder’s postal code. Zip

Level 3 (Commercial) Credit Card Transaction Parameters

Table 3.3 lists level 3 (commercial) credit card transaction parameters.
T
ABLE 3.3 Level 3 (c ommercial) credit card trans action p arameters
Payflow SDK Parameter Description XMLPay Element
ALLTAXEXEMPTCODE Tax exempt code Level3Invoice ALLTAXPERCENT Tax rate Level3Invoice ALTTAXAMT Tax amount Level3Invoice ALTERNATETAXAMT Alternate tax amount Level3Invoice
AlternateTaxAmount
ALTERNATETAXID Alternate tax ID number Level3Invoice
AlternateTaxID
BGNAME Buying Group name Level3Invoice
BuyingGroup
BGFIRSTADDR Buying Group first address line Level3Invoice
BuyingGroup
AllTaxAllTaxAllTax
52 XMLPay Developer’s Guide
XMLPay Elements
Credit Card Transaction Parameters
T
ABLE 3.3 Level 3 (c ommercial) credit card trans action p arameters
Payflow SDK Parameter Description XMLPay Element
3
BGSECONDADDR Buying Group second address
line
BGCITY Buying Group city Level3Invoice
BGSTATE Buying Group state Level3Invoice
BGZIP Buying Group zip code Level3Invoice
BGCOUNTRY Buying Group country Level3Invoice
CARDSTART Starting date printed on card
(Switch Solo only)
CARDISSUE Issue number printed on card
(Switch Solo only)
COUNTYTAXAMT County tax amount Level3Invo ice
COUNTYTAXEXEMPTCODE County tax exempt code Level3Invoice
COUNTYTAXPERCENT County tax rate Level3Invoice
Level3Invoice BuyingGroup
BuyingGroup
BuyingGroup
BuyingGroup
BuyingGroup Level3Invoice
CardStart Level3Invoice
CardIssue
CountyTax
CountyTax
CountyTax
COUNTYSALESTAXAMT County sales tax amount Level3Invoice
CountySalesTax
COUNTYSALESTAXEXEMPTCODE County sales tax exempt code Level3Invoice
CountySalesTax
COUNTYSALESTAXPERCENT County sales tax amount Level3Invoice
CountySalesTax CITYTAXAMT City tax amount Level3Invoice CITYTAXEXEMPTCODE City tax exempt code Level3Invoice CITYTAXPERCENT City tax rate Level3Invoice COMMCODE Commercial code for business
cards (not typically used)
CUSTVATREGNUM Customer value added tax
registration number
EVTAXAMT Environmental tax amount Level3Invoice
XMLPay Developer’s Guide 53
Level3Invoice
CommCode
Level3Invoice
CustomerValueAdded-
TaxRegNum
EnvironmentalTax
CityTaxCityTaxCityTax
XMLPay Elements
3
Credit Card Transaction Parameters
T
ABLE 3.3 Level 3 (c ommercial) credit card trans action p arameters
Payflow SDK Parameter Description XMLPay Element
EVTAXEXEMPTCODE Environmental tax exempt code Level3Invoice
EnvironmentalTax EVTAXPERCENT Environmental tax rate Level3Invoice
EnvironmentalTax FREIGHTRATE Rate charged for shipping Level3Invoice
FreightRate GENERICPRODDESC Generic product description Level3Invoice
GenericProduct-
Description HANDLINGRATE Rate charged for handling Level3Invoice
HandlingRate INVEXPDATE Invoice expiration date Level3Invoice
InvoiceExpirationDate LOCALTAXAMT Local tax amount Level3Invoice
LocalTax LOCALTAXEXEMPTCODE Local tax exemption code Level3Invoice
LocalTax LOCALTAXPERCENT Local tax rate Level3Invoice
LocalTax NATIONALTAXAMT National tax amount Level3Invoice
NationalTax
RECURRING Recurring billing indicator REQNAME Name of requestor Level3Invoice
Requestor REQFIRSTADDR First line of street address for
requestor
REQSECONDADDR Second line of street address for
shipper
REQCITY City of requestor Level3Invoice
REQSTATE State of requestor Level3Invoice
REQZIP Zip code of requestor Level3Invoice
REQCOUNTRY Country of requestor Level3Invoice
SHIPPEDFROMNAME Name of shipper Invoice
Level3Invoice
Requestor
Level3Invoice
Requestor
Requestor
Requestor
Requestor
Requestor
ShipFrom
54 XMLPay Developer’s Guide
XMLPay Elements
Credit Card Transaction Parameters
T
ABLE 3.3 Level 3 (c ommercial) credit card trans action p arameters
Payflow SDK Parameter Description XMLPay Element
3
SHIPPEDFROMFIRSTADDR First line of street address for
shipper
SHIPPEDFROMSECONDADDR Second line of street address for
shipper SHIPPEDFROMCITY City of shipper Invoice SHIPPEDFROMSTATE State of shipper Invoice SHIPPEDFROMZIP Zip code of shipper Invoice SHIPPEDFROMCOUNTRY Country of shipper Invoice STATEANDLOCALTAXAMT State and Local tax amount Level3Invoice
STATEANDLOCALTAXEXEMPTCODE State and Local tax exempt code Level3Invoice
STATEANDLOCALTAXPERCENT State and Local tax rate Level3Invoice
STATESALESTAXAMT State tax amount Level3Invoice
STATESALESTAX EXEM PTCODE State tax exempt code Level3Invo ice
InvoiceShipFrom
Invoice
ShipFrom
ShipFromShipFromShipFromShipFrom
StateAndLocalTax
StateAndLocalTax
StateAndLocalTax
StateTax
StateTax
STATESALESTAXPERCENT State tax rate Level3Invoice
StateTax
STATEGOODSTAXAMT State goods tax amount Level3Invoice
StateGoodsTax
STATEGOODSTAXEXEMPTCODE State goods tax exempt code Level3Invoice
StateGoodsTax
STATEGOODSTAXPERCENT State goods tax rate Level3Invoice
StateGoodsTax
STATETAXAMT State tax amount Level3Invoice
StateTax
STATETAXEXEMPTCODE State tax exempt code Level3Invoice
StateTax
STATETAXPERCENT State tax rate Level3Invoice
StateTax
STATESERVICESTAXAMT State services tax amount Level3Invoice
StateServicesTax
STATESERVICESTAXEXEMPTCODE State services tax exempt code Level3Invoice
StateServicesTax
XMLPay Developer’s Guide 55
XMLPay Elements
3
Credit Card Transaction Parameters
ABLE 3.3 Level 3 (c ommercial) credit card trans action p arameters
T
Payflow SDK Parameter Description XMLPay Element
STATESERVICESTAXPERCENT State services tax rate Level3Invoice
StateServicesTax
VATAXAMT Value added tax amount Level3Invoice
ValueAddedTax
VATAXEXEMPTCODE Value added tax exempt code Level3Invoice
ValueAddedTax
VATAX PERCENT Value added tax rate Level3Invoice
ValueAddedTax
VATREGNUM Value added tax registration
number Line item Transactions - Identifies one item in a transaction with multiple items. The number of the item is
appended to the parameter. L_ALLTAXAMT All tax amount line item Level3Item L_ALLTAXEXEMPTCODE All tax exemption code line item Level3Item L_ALLTAXPERCENT All tax rate line item Level3Item L_CITYTAXAMT City tax amount line item Level3Item L_CITYTAXEXEMP TCODE City tax exemption code line item Level3Item L_CITYTAXPERCENT City tax rate line item Level3Item L_COUNTYSALESTAXAMT County sales tax amount line item Level3Item
Level3Invoice ValueAddedTaxRegNum
CountySalesTax
AllTaxAllTaxAllTaxCityTaxCityTaxCityTax
L_COUNTYSALESTAXEXEMPTCODE County sales tax exemption code
line item L_COUNTYSALESTAXPERCENT County sales tax rate line item Level3Item
L_COUNTYTAXAMT County tax amount line item Level3Item
L_COUNTYTAXEXEMPTCODE County tax exemption code line
item L_COUNTYTAXPERCENT County tax rate line item Level3Item
L_EVTAXAMT Environmental tax amount line
item L_EVTAXEXEMPTCODE Environmental tax exemption
code line item
Level3Item CountySalesTax
CountySalesTax
CountyTax Level3Item
CountyTax
CountyTax Level3Item
EnvironmentalTax Level3Item
EnvironmentalTax
56 XMLPay Developer’s Guide
XMLPay Elements
Credit Card Transaction Parameters
T
ABLE 3.3 Level 3 (c ommercial) credit card trans action p arameters
Payflow SDK Parameter Description XMLPay Element
L_EVTAXPERCENT Environmental tax rate line item Level3Item
EnvironmentalTax
3
L_LOCALTAXAMT Local tax amount line item Level3Item L_LOCALTAXEXEMPTCODE Local tax exemption code line
item L_LOCALTAXPERCENT Local tax rate line item Level3Item L_STATEANDLOCALTAXAMT State and local tax amount line
item L_STATEANDLOCALTAXEXEMPTCODE State and local tax exemption
code line item L_STATEANDLOCALTAXPERCENT State and local tax rate line item Level3Item
L_STATETAX AMT State tax amount line item Level3Item L_STATETAXEXEMPTCODE State tax exemption code line
item L_STATETAXPERCENT State tax rate line item Level3Item L_STATEGOODSTAXAMT State goods tax amount line item Level3Item
L_STATEGOODSTAXEXEMPTCODE State goods tax exemption code
line item
Level3Item
Level3Item StateAndLocalTax
Level3Item StateAndLocalTax
StateAndLocalTax
Level3Item
StateGoodsTax Level3Item
StateGoodsTax
LocalTaxLocalTax
LocalTax
StateTaxStateTax
StateTax
L_STATEGOODSTAXPERCENT State goods tax rate line item Level3Item
StateGoodsTax
L_STATESALESTAXAMT State sales tax amount line item Level3Item
StateSalesTax
L_STATESALESTAXEXEMPTCODE State sales tax exemption code
line item L_STATESALESTAXPERCENT State sales tax rate line item Level3Item
L_STATESERVICESTAXAMT State service tax amount line item Level3Item
L_STATESERVICESTAXEXEMPTCODE State service tax exemption code
line item L_STATESERVICESTAXPERCENT State service tax rate line item Level3Item
L_TAXTYPE Tax type line item Level3Item
XMLPay Developer’s Guide 57
Level3Item StateSalesTax
StateSalesTax
StateServicesTax Level3Item
StateServicesTax
StateServicesTax
TaxType
XMLPay Elements
3

Buyer Authentication Transaction Parameters

ABLE 3.3 Level 3 (c ommercial) credit card trans action p arameters
T
Payflow SDK Parameter Description XMLPay Element
L_VATAXAMT Value added tax amount line item Level3Item
ValueAddedTax
L_VATAX E XEMPTCODE Value added tax exemption code
line item L_VATAX PERCENT Value added tax rate line item Level3Item
Level3Item ValueAddedTax
ValueAddedTax
Buyer Authentication Transaction Parameters
Table 3.4 lists the buyer authentication transaction parameters.
ABLE 3.4 Transaction response p arame ters
T
Payflow SDK Parameter Description XMLPay Element
AUTHENTICATION_ID Values returned from Buyer Auth
transaction
AUTHENTICATION_STATUS Values returned from Buyer Auth
transaction
CAVV Values returned from Buyer Auth
transaction
UCAF Values returned fr om Buyer Auth
transaction
BuyerAuthResult AuthenticationId
BuyerAuthResult
BuyerAuthResult
BuyerAuthResult
Status
CAVV
CAVV
XID Values returned from Buyer Auth
transaction
BuyerAuthResult
XID

Credit Card Transaction Response Parameters

Table 3.5 lists the parameters returned for a credit card transaction.
ABLE 3.5 Transaction response p arame ters
T
Payflow SDK Parameter Description XMLPay Element
ADDLMSGS Addition al messages ProcessorResult
AdditionalMessages
AMEXID Unique identifier to track
American Express transactions.
ProcessorResult AMEXID
58 XMLPay Developer’s Guide
Credit Card Transaction Response Parameters
T
ABLE 3.5 Transaction response p arame ters
Payflow SDK Parameter Description XMLPay Element
AUTHCODE Return ed for Sale Authorizati on. AuthCode
XMLPay Elements
3
AVSADD R AVS address verification
response.
AVSZIP AVS ZIP code verification
response.
BALAMT Balance on a pre-paid stored value
card for American Express CAPN
transactions CARDSECURE Raw card secure value TransactionResult CVV2MATCH Resul t of the card security code
(CVV2) check. HOSTCODE Raw response from processor ProcessorResult IAVS IAVS result code TransactionResult PNREF Reference ID, a unique number
that identifies the transaction. RESPMSG The response message returned
with the transaction result. PROCAVS Raw processor AVS result code ProcessorResult PROCCVV2 Raw processor CVV2 result code ProcessorResult
AVSResult
AVSResult
ProcessorResult BalanceAmount
CVResult
PNRef
Message
HostCode
AV SResultCVResult
CardSecure
IAVSResult
PROCCARDSECURE Raw card secure value from
processor RRN Retrieval reference number
(typically not passed to merchant) RESPTEXT Text response returned from
processor (for example, Approval) RESULT The outcome of the attempted
transaction. SETTLE_DATE Date transaction will settle ProcessorResult STAN Unique PayPal-genera ted
transaction ID for processor
(typically not passed to merchant)
XMLPay Developer’s Guide 59
ProcessorResult
ProcessorResult
ProcessorResult
Result
ProcessorResult
CardSecure
RRN
ResponseText
SettleDateSTAN
XMLPay Elements
3

ACH Transaction Parameters (Norwest)

ACH Transaction Parameters (Norwest)
Table 3.6 lists the ACH transaction parameters. These paramete rs are specific to Norwe st.
TABLE 3.6 Transaction response p arame ters
Payflow SDK Parameter Description XMLPay Element
TERMCITY City of terminal that captured the transaction ACH TERMSTATE State of terminal that captured the transaction ACH
TermCityTermState

PayPal Express Checkout Request Transaction Parameters

Table 3.7 lists the PayPal Express Checkout request transaction parameters.
ABLE 3.7 Express Chec kout re quest p arame ters
T
Express Checkout Parameter Description XMLPay Element
ADDROVERRIDE PayPal pages display the shipping address set
in the shipping address parameters in the Set Express Checkout request, not the shipping address on file with PayPal for this customer.
AMT Amount (US Dollars) U.S. based currency.
If shipping cost and tax charges are known, include them in AMT. If not, AMT should be the current subtotal of the order.
BUTTONSOURCE Identification code for use by third-party
applications to identify transactions.
PayPal
AddressOverride
Invoice
TotalAmt
ButtonSource
PayPal
CANCELURL URL to which the customer is returned if the
customer does not approve the use of PayPal to pay you.
CUSTOM Free-form field for your own use such as a
tracking number or other value you want PayPal to return in the Get Express Checkout
Details response. EMAIL Customer’s email address. PayPal HANDLINGAMT Total handling amount. Item HDRBACKCOLOR Sets the background color for the header of the
payment page.
CancelURL
PayPal
PayPal
ExtData
EMail
HandlingAmt
PayPal
HeaderBackColor
60 XMLPay Developer’s Guide
XMLPay Elements
PayPal Express Checkout Request Transaction Parameters
ABLE 3.7 Express Chec kout re quest p arame ters (Continued)
T
Express Checkout Parameter Description XMLPay Element
3
HDRBORDERCOLOR Sets the border color around the header of the
payment page. The border is a 2-pixel
perimeter around the header space, which is
750 pixels wide by 90 pixels high. HDRIMG URL for the image you want to appear at the
top left of the payment page. The image has a
maximum size of 750 pixels wide by 90 pixels
high. PayPal recommends that you provide an
image that is stored on a secure (https) server. INVNUM Merchant invoice number. The merchant
invoice number is used for authorizations and
settlements and, depending on your merchant
bank, will appear on your customer's credit
card statement and your bank reconciliation
report. If you do not provide an invoice
number, the transaction ID (PNREF) will be
submitted. ITEMAMT Sum of cost of all it ems in this order. Invoice L_AMTn Cost of line item. Invoice L_DESCn Item description Item L_QTYn Quantity (whole units only) Item
PayPal
PayPal
Invoice
DescriptionQuantity
HeaderBorderColor
HeaderImage
InvNum
ItemAmtTotalAmt
L_TAXAMTn Line item tax amount Item LOCALECODE Locale of pages displayed by PayPal during
Express Checkout. MAXAMT The expected maximum total amount of the
complete order, including shipping and tax
charges. MEMO Custom memo about the credit. PayPal NOSHIPPING Is 1 or 0. 1 indicates that on the PayPal pages,
no shipping address fields should be displayed
whatsoever. NOTE An in formal note about this settlement that is
displayed to the customer in email and in the
customer’s transaction history. NOTIFYURL Your URL for receiving Instant Payment
Notification (IPN) about this transaction. ORDERDESC Description of items the customer is
purchasing.
XMLPay Developer’s Guide 61
TaxAmt
PayPal
PayPal
PayPal
PayPal
PayPal
PayPal
LocaleCode
ExtData
ExtDataNoShipping
ExtData
NotifyURL
ExtData
XMLPay Elements
3
PayPal Express Checkout Request Transaction Parameters
ABLE 3.7 Express Chec kout re quest p arame ters (Continued)
T
Express Checkout Parameter Description XMLPay Element
PAGESTYLE Sets the Custom Payment Page Style for
payment pages associated with this
button/link. PageStyle corresponds to the
HTML variable page_style for customizing
payment pages. PAYERID Unique encrypted PayPal customer account
identification number. PAYFLOWCOLOR Sets the background color for the payment
page. REQCONFIRMSHIPPING Is 1 or 0. The value 1 indicates that you require
that the customer’s shipping address on file
with PayPal be a confirmed address. RETURNURL URL to which the customer’s browser is
returned after approving use of PayPal. SHIPPINGTOTAL You must set the currencyID attribute to USD.
Must not exceed $10,000 USD. No currency
symbol. Decimal separator must be a period
(.). SHIPTOCITY Shipping city ShipTo SHIPTOCOUNTRY Destination Country Code. (See the appendix
entitled “ISO Country Codes” in the Payflow
Pro Developer’s Guide.)
PayPal
PayPal
PayPal
PayPal
PayPal
PayPal
ShipTo
PageStyle
PayerId
PayflowColor
ReqConfirmShipping
ReturnURL
ExtData
AddressCityAddressCountry
ShipTo
SHIPTOSTATE Shipping state.
US = 2-letter state code.
Outside US, use full name. SHIPTOSTREET Shipping street address ShipTo SHIPTOSTREET2 Extended shipping address. Example: Bldg. 6,
Mail Stop 3. SHIPTOZIP Shipp ing postal code (called ZIP code in the
USA) TAXAMT Sum of tax for all items in this order. Item TOKEN Value returned in Set Express Checkout
response to identify this request as part of the
same checkout session.
AddressState
AddressStreet
ShipTo
AddressStreet2
AddressZip
ShipTo
TaxAmt
PayPal
Token
62 XMLPay Developer’s Guide
XMLPay Elements

PayPal Express Checkout Response Transaction Parameters

PayPal Express Checkout Response Transaction Parameters
Table 3.7 lists the PayPal Express Checkout response transaction parameters.
TABLE 3.8 Mapping Exp ress Checko ut parameters to XMLPay parameters
Express Checkout Parameter Description XMLPay Element
3
CUSTOM Free-form field for your own use such as a tracking
number or other value you want PayPal to return in
the Get Express Checkout Details response. EMAIL Customer’s email address. PayPalResult FEEAMT PayPal fee amount charged for the transaction. PayPalResult INVNUM Your own unique invoice or tracking number. PayPalResult PAYERID Unique encrypted PayPal customer account
identification number. PAYERSTATUS Status of customer. PayPalResult PHONENUM Account holder’s telephone number. PayPalResult PPREF Unique transaction ID of the payment PayPalResult SHIPTOBUSINESS Customer SHIPTOCITY Name of ship-to city. ShipTo SHIPTOCOUNTRY Ship-to country code. (See the appendix entitled
“ISO Country Codes” in the Payflow Pro
Developer’s Guide.) SHIPTOCOUNTRYCODE Customer
standard 3166 two-character country codes.
s business name. PayPalResultExtData
s country of residence in the form of ISO
PayPalResult
PayPalResult
AddressCity
ShipTo
AddressCountry
PayPalResultExtData
Custom
CustomExtDataInvNumPayerId
PayerStatusPhonePPRef
SHIPTOSTATE Name of ship-to state or province. ShipTo SHIPTOZIP U.S. ship-to ZIP code or other country-specific
postal code. TOKEN Value returned in Set Express Checkout response to
identify this request as part of the same checkout
session.
XMLPay Developer’s Guide 63
AddressState
ShipTo
AddressZip
Token
PayPal
XMLPay Elements
3
PayPal Express Checkout Response Transaction Parameters
64 XMLPay Developer’s Guide

XMLPay Transaction Profiles

4
The following tables document the transactions supported for each tender, along with the data elements used for each of those transactions.

ACH Transactions

ACH supports the following transactions: Sale, Credit, and Void. The following data are used to process ACH transactions:
z Invoice.TotalAmt z ACH.AcctType z ACH.AcctNum z ACH.ABA z ACH.AuthType z ACH.Prenote z BillTo.Name

Buyer Authentication Transactions

Buyer authentication supports the following transactions: VerifyEnrollment and ValidateAuthentication.
For VerifyEnrollment, the following data are used to process the transactions (required elements are in bold text):
z Invoice.TotalAmt with Currency attribute z Invoice.Description z Card.CardNum z Card.ExpDate
For ValidateAuthentication, the following data are required to process the transactions:
z PARes
XMLPay Developer’s Guide 65
XMLPay Transaction Profiles
4

Card Transactions

Card Transactions
Retail credit and debit cards and corporate purchase cards support the following transactions: Sale, Authorization, Delay Capture, Credit, and Void.
The following data are used to process card transactions:
z Invoice.TotalAmt z Card.CardNum z Card.ExpDate z Card.NameOnCard (Defaults to BillTo.Name) z BillTo.Street, ZIP (Required for AVS) z CardInfo.CVNum

Purchase Card Level I

Level I purchase cards use the following additional data:
z BillTo.PONum z Invoice.TaxAmt

Purchase Card Level II

Level II purchase cards use the following additional data:
z BillTo.TaxExempt z ShipTo.ZIP

Purchase Card Level III

Level III purchase cards use the following additional data:
z Invoice.Date z BillTo.CustCode z ShipTo.Country z ShipFrom.ZIP z Invoice.ShippingAmt z Invoice.DiscountAmt z Item.SKU, UPC, Description, Quantity, UnitOfMeasurement, UnitPrice, ExtAmt,
DiscountAmt, TaxAmt, TotalAmt, DutyAmt, NationalTaxIncl
66 XMLPay Developer’s Guide
NOTE: Minimum requirements for describing an item are Description, Quantity, and
UnitPrice. ExtAmt = Quantity * UnitPrice. TotalAmt = TaxAmt – DiscountAmt

Check Transactions

Checks support the following transaction: Sale. The following data are used to process check transactions (required elements are in bold text):
z Invoice.TotalAmt z Check.CheckType z Check.CheckNum z Check.MICR z BillTo.Name z BillTo.Address
XMLPay Transaction Profiles
Check Transactions
4
z BillTo.EMail z BillTo.Phone z BillTo.DL (DL is optional if SS is provided) z BillTo.SS (SS is optional if DL is provided) z BillTo.DOB z Invoice.InvNum
XMLPay Developer’s Guide 67
XMLPay Transaction Profiles
4

PayPal Transactions

PayPal Transactions
PayPal Express Checkout supports the following transactions: Sale, Authorization, Delayed Capture, Void, and Credit.
The following data are used to process PayPal Express Checkout transactions:
z PayPal.CancelURL z PayPal.ReturnURL z PayPal.Token z PayPal.PayerId z Invoice.TotalAmt z ShipTo.Address.Street z ShipTo.Address.City z ShipTo.Address.State z ShipTo.Address.Zip z ShipTo.Address.Country
68 XMLPay Developer’s Guide
5

XMLPay Examples

This chapter provides several examples of XMLPay documents. For specific examples of how to submit XML documents using the Payflow SDK client
service, see the Payflow SDK SDKdownload package.
NOTE: To receive namespaces in the XML response document, you must set the
XMLPayRequest version attribute to “2.0” or “1.1”. Leaving this attribute out or setting it to any value less than 1.1 leaves the namespace out of the XML response document, which may cause errors with some XML parsers.
Set the version attribute to “2.0” to enable all the functionality described in this document.
In this Chapter
z “ACH Sale Request” on page 70 z “Card Authorization Request” on page 71 z “Card Capture Request” on page 73 z “Card Credit Request” on page 74 z “Card Credit Reference Credit Request” on page 75 z “Card Force Capture Request” on page 76 z “Card Sale Request” on page 77 z “Card Secure Request” on page 79 z “Card Status Request” on page 80 z “Card Void Request” on page 81 z “Check Sale Request” on page 82 z “Customer IP” on page 83 z “Express Checkout Authorization Transaction” on page 84 z “IAVS Result Request” on page 88 z “Level 3 Invoice” on page 89 z “Line Item Sale Request” on page 90 z “Merchant Description and Merchant Service Number” on page 92 z “Processor Result” on page 93 z “Recurring Billing Profile” on page 94 z “Shipping Carrier and Shipping Method” on page 96 z “Transaction Update” on page 97
XMLPay Developer’s Guide 69
XMLPay Examples
5

ACH Sale Request

z “ValidateAuthentication Request” on page 98 z “ValidateAuthentication Response” on page 98 z “VerifyEnrollment Request” on page 99 z “VerifyEnrollment Response” on page 99
ACH Sale Request
<?xml version="1.0" encoding=" UTF-8"?>
XMLPayRequest Timeout="30" version = "2.0 " xmlns="http://www.paypal.com/X MLPay"> <RequestData> <Vendor>vendor</Vendor> <Partner>par tner</Partner> <Transaction s> <Transaction> <Sale> <PayData> <Invoice> <InvNum>1</InvNum> <Date>20020208</Date> <BillTo> <Name>b illtoname</Name> <TaxExe mpt>true</TaxExemp t> </BillTo> <NationalTaxIncl>true</NationalTaxIncl> <TotalAmt>24.97</TotalAmt> </Invoice> <Tender> <ACH> <AcctType>C</AcctType> <AcctNu m>6355059797</Acct Num> <ABA>09 1000019</ABA> <Prenot e>false</Prenote> </ACH> </Tender> </PayData> </Sale> </Transaction> </Transactions> </RequestData> <RequestAuth> <UserPass> <User>user</ User> <Password>pa ssword</Password> </UserPass> </RequestAuth>
70 XMLPay Developer’s Guide
</XMLPayRequest>

ACH Sale Response

<?xml version="1.0" encoding=" UTF-8"?>
<XMLPayResponse xmlns="http:// www.paypal.com/XML Pay"> <ResponseData> <Vendor>vendor</Vendor> <Partner>partner</Partner> <TransactionResults> <TransactionResult> <Result>0</Result> <AVSResult> <StreetMatch>Service Not Requested</StreetMatch> <ZipMatch>Service Not Requested</ZipMatch> </AVSResult> <CVResult>Service Not Requested</CVResult> <Message>Approved</Message> <PNRef>VTHD55395864</PNRef> <OrigResult>0</OrigResult> </TransactionResult> </TransactionResults> </ResponseData> </XMLPayResponse>
XMLPay Examples

Card Authorization Request

5
Card Authorization Request
<?xml version="1.0" encoding=" UTF-8"?>
<XMLPayRequest Timeout="30" ve rsion = "2.0" xmlns="http://www.paypal.com/X MLPay">
<RequestData> <Vendor>vendor</Vendor> <Partner>partner</Partner> <Transactions> <Transaction> <Authorization> <PayData> <Invoice> <BillTo>
<Address>
<Street>123 4th street</Street> <City>San Jose</City> <State>CA</State> <Zip>95032</Zip> <Country>USA</Country>
</Address>
XMLPay Developer’s Guide 71
XMLPay Examples
5
Card Authorization Request
</Invoice> <Tender> <Card>
<ExpDate>200911</ExpDate>
</Tender> </PayData> </Authorization> </Transaction> </Transactions> </RequestData> <RequestAuth> <UserPass> <User>user</User> <Password>password</Password> </UserPass> </RequestAuth> </XMLPayRequest>
</BillTo> <TotalAmt>24.97</TotalAmt>
<CardType>visa</CardType> <CardNum>5105105105105100</Car dNum>
<NameOnCard/>
</Card>

Card Authorization Response

<?xml version="1.0" encoding=" UTF-8"?>
<XMLPayResponse> <ResponseData> <Vendor>vendor</Vendor> <Partner>partner</Partner> <TransactionResults> <TransactionResult> <Result>0</Result> <AVSResult> <StreetMatch >Service Not Availabl e</StreetMatch> <ZipMatch>Service Not Available</Zip Match> </AVSResult> <CVResult>Servi ce Not Requested</ CVResult> <Message>Approved</Message> <PNRef>V63A0991 0356</PNRef> <AuthCode>747PN I</AuthCode> <HostCode>00</H ostCode> <OrigResult>0</ OrigResult> </TransactionResult> </TransactionResults> </ResponseData> </XMLPayResponse>
72 XMLPay Developer’s Guide

Card Capture Request

<XMLPayRequest Timeout="30" ve rsion = "2.0" xmlns="http://www.paypal.com/X MLPay"> <RequestData> <Vendor>vendor</Vendor> <Partner>partner</Partner> <Transactions> <Transaction> <Capture> <PNRef>V63A09910356</PNRef> </Capture> </Transaction> </Transactions> </RequestData> <RequestAuth> <UserPass> <User>user</User> <Password>password</Password> </UserPass> </RequestAuth> </XMLPayRequest>
XMLPay Examples
Card Capture Request
5

Card Capture Response

<?xml version="1.0" encoding=" UTF-8"?>
<XMLPayResponse> <ResponseData> <Vendor>vendor</Vendor> <Partner>partner</Partner> <TransactionResults> <TransactionResult> <Result>0</Resu lt> <AVSResult> <StreetMatch>Service Not Available</ StreetMatch> <ZipMatch>Service Not Available</Zip Match> </AVSResult> <CVResult>Servi ce Not Requested</ CVResult> <Message>Approved</Message> <PNRef>V53A0920 6640</PNRef> <AuthCode>747PN I</AuthCode> <HostCode>00</H ostCode> <OrigResult>0</OrigResult> </Transact ionResult> </TransactionResults> </ResponseData> </XMLPayResponse>
XMLPay Developer’s Guide 73
XMLPay Examples
5

Card Credit Request

Card Credit Request
<?xml version="1.0" encoding="utf-8"?> <XMLPayRequest Timeout="30" version="2.0" xmlns="http://www.paypal.com/XMLPay
<RequestData>
<Vendor>vendor</Vendor> <Partner>VeriSign</Partner> <Transactions>
<Transaction>
<Credit>
<PayData>
<Invoice>
<TotalAmt>10.00</TotalAmt> </Invoice> <Tender>
<Card>
<CardType>MasterCard</CardType> <CardNum>5105105105105100</CardNum> <ExpDate>200911</ExpDate>
</Card> </Tender>
</PayData>
</Credit>
</Transaction>
</Transactions> </RequestData> <RequestAuth>
<UserPass>
<User>user</User> <Password>password</Password>
</UserPass> </RequestAuth>
</XMLPayRequest>
">
74 XMLPay Developer’s Guide

Card Credit Response

<?xml version="1.0" encoding="utf-8"?>
XMLPay Examples

Card Credit Reference Credit Request

5
<XMLPayResponse xmlns="http://www.paypal.com/XMLPay
<ResponseData>
<Vendor>vendor</Vendor>
<Partner>verisign</Partner>
<TransactionResults>
<TransactionResult>
<Result>0</Result> <Message>Approved</Message> <PNRef>V18A0FA3CBC2</PNRef>
</TransactionResult>
</TransactionResults> </ResponseData>
</XMLPayResponse>
Card Credit Reference Credit Request
<?xml version="1.0" encoding=" UTF-8"?>
<XMLPayRequest Timeout="30" ve rsion = "2.0" xmlns="http://www.paypal.com/X MLPay"> <RequestData> <Vendor>vendor</Vendor> <Partner>partner</Partner> <Transactions> <Transaction> <Credit> <PNRef>V53A09206652</PNRef> </Credit> </Transaction> </Transactions> </RequestData> <RequestAuth> <UserPass> <User>user</User> <Password>password</Password> </UserPass> </RequestAuth> </XMLPayRequest>
">

Card Credit Reference Credit Response

<?xml version="1.0" encoding=" UTF-8"?>
<XMLPayResponse>
XMLPay Developer’s Guide 75
XMLPay Examples
5

Card Force Capture Request

<ResponseData> <Vendor>vendor</Vendor> <Partner>partner</Partner> <TransactionResults> <TransactionResult> <Result>105</Re sult> <AVSResult> <StreetMatch>Service Not Requested</ StreetMatch> <ZipMatch>Service Not Requested</Zip Match> </AVSResult> <CVResult>Service Not Requested</CVResul t> <Message>Credit error</Message> <PNRef>V54A0920 6685</PNRef> <OrigResult>0</OrigResult> </TransactionResult> </TransactionResults> </ResponseData> </XMLPayResponse>
Card Force Capture Request
<?xml version="1.0" encoding=" UTF-8"?>
<XMLPayRequest Timeout="30" ve rsion = "2.0" xmlns="http://www.paypal.com/X MLPay"> <RequestData> <Vendor>vendor</Vendor> <Partner>partner</Partner> <Transactions> <Transaction> <ForceCapture> <PayData> <Invoice > <NationalTaxIncl>false</NationalTaxIncl> <TotalAmt>24.97</TotalAmt> </Invoice> <Tender> <Card> <CardType>visa</CardType> <CardNum>5105105105105100</C ardNum> <ExpDate>200911</ExpDate> <NameOnCard/> </Card> </Tender> </PayData> <AuthCode>AU THCODE</AuthCode> </ForceCapture> </Transaction> </Transactions>
76 XMLPay Developer’s Guide
</RequestData> <RequestAuth> <UserPass> <User>user</User> <Password>password</Password> </UserPass> </RequestAuth> </XMLPayRequest>

Card Force Capture Response

<?xml version="1.0" encoding=" UTF-8"?>
<XMLPayResponse> <ResponseData> <Vendor>vendor</Vendor> <Partner>partner</Partner> <TransactionResults> <TransactionResult> <Result>0</Resu lt> <AVSResult> <StreetMatch>Service Not Requested</ StreetMatch> <ZipMatch>S ervice Not Requested< /ZipMatch> </AVSResult> <CVResult>Service Not Requested</CVResult > <Message>Approv ed</Message> <PNRef>V54A0920 6761</PNRef> <AuthCode>AUTHC O</AuthCode> <HostCode>00</HostCode> <OrigResult>0</ OrigResult> </TransactionResult> /TransactionResults> </ResponseData> </XMLPayResponse>
XMLPay Examples

Card Sale Request

5
Card Sale Request
<?xml version="1.0" encoding=" UTF-8"?>
<XMLPayRequest Timeout="30" ve rsion = "2.0" xmlns="http://www.paypal.com/X MLPay"> <RequestData> <Vendor>vendor</Vendor> <Partner>partner</Partner> <Transactions> <Transaction> <Sale> <PayData>
XMLPay Developer’s Guide 77
XMLPay Examples
5
Card Sale Request
<Invoice> <NationalTaxIncl>false</NationalTaxIncl> <TotalAmt>24.97</TotalAmt> </Invoice> <Tender> <Card> <CardType>visa</CardType> <CardNum>5105105105105100</CardNum> <ExpDate>200911</ExpDate> <NameOnCard/> </Card> </Tender> </PayData> </Sale> </Transaction> </Transactions> </RequestData> <RequestAuth> <UserPass> <User>user</User> <Password>password</Password> </UserPass> </RequestAuth> </XMLPayRequest>

Card Sale Response

<?xml version="1.0" encoding=" UTF-8"?>
<XMLPayResponse> <ResponseData> <Vendor>vendor</Vendor> <Partner>partner</Partner> <TransactionResults> <TransactionResult> <Result>0</Resu lt> <AVSResult> <StreetMatch >Service Not Availabl e</StreetMatch> <ZipMatch>Service Not Available</Zip Match> </AVSResult> <CVResult>Servi ce Not Requested</ CVResult> <Message>Approv ed</Message> <PNRef>V64A0990 9896</PNRef> <AuthCode>968PN I</AuthCode> <HostCode>00</H ostCode> <OrigResult>0</ OrigResult> </TransactionResult> </TransactionResults> </ResponseData> </XMLPayResponse>
78 XMLPay Developer’s Guide

Card Secure Request

<?xml version="1.0" encoding=" UTF-8"?>
<XMLPayRequest Timeout="30" ve rsion = "2.0" xmlns="http://www.paypal.com/X MLPay">
<RequestData>
<Vendor>vendor</Vendor>
<Partner>partner</Partner>
<Transactions>
<Transaction>
<Authorization>
<PayData>
<Invoice>
<NationalTaxIncl>false</Nation alTaxIncl>
<TotalAmt>24.97</TotalAmt> </Invoice> <Tender>
<Card>
XMLPay Examples
Card Secure Request
<CardType>visa</CardType> <CardNum>5105105105105100</Car dNum> <ExpDate>200911</ExpDate> <NameOnCard/> <BuyerAuthResult>
<Status>Y</Status>
5
<AuthenticationId>CTEremezUA7P kaDwP0Qk</Authenti cationId>
<ECI>5</ECI> <CAVV>BwAQAJVyYAQECQJTMnJgAAAA AAA=</CAVV> <XID>8abmK0K1Sf9OujrESKKrKkJCP 4I=</XID>
</BuyerAuthResult>
</Card> </Tender>
</PayData>
</Authorization>
</Transaction>
</Transactions> </RequestData> <RequestAuth>
<UserPass>
<User>user</User> <Password>password</Password>
</UserPass> </RequestAuth>
</XMLPayRequest>
XMLPay Developer’s Guide 79
XMLPay Examples
5

Card Status Request

Card Status Request
<?xml version="1.0" encoding=" UTF-8"?>
<XMLPayRequest Timeout="30" ve rsion = "2.0" xmlns="http://www.paypal.com/X MLPay"> <RequestData> <Vendor>vendor</Vendor> <Partner>partner</Partner> <Transactions> <Transaction> <GetStatus> <PNRef>V54A09206691</PNRef> </GetStatus> </Transact ion> </Transactions> </RequestData> <RequestAuth> <UserPass> <User>user</User> <Password>password</Password> </UserPass> </RequestAuth> </XMLPayRequest>

Card Status Response

<?xml version="1.0" encoding=" UTF-8"?>
<XMLPayResponse> <ResponseData> <Vendor>vendor</Vendor> <Partner>partner</Partner> <TransactionResults> <TransactionResult> <Result>0</Resu lt> <AVSResult> <StreetMatch>Service Not Requested</ StreetMatch> <ZipMatch>Service Not Requested</Zip Match> </AVSResult> <CVResult>Servi ce Not Requested</ CVResult> <Message>Approv ed</Message> <PNRef>V54A0920 6691</PNRef> <OrigResult>0</ OrigResult> </TransactionResult> </TransactionResults> </ResponseData> </XMLPayResponse>
80 XMLPay Developer’s Guide

Card Void Request

<?xml version="1.0" encoding=" UTF-8"?>
<XMLPayRequest Timeout="30" ve rsion = "2.0" xmlns="http://www.paypal.com/X MLPay"> <RequestData> <Vendor>vendor</Vendor> <Partner>partner</Partner> <Transactions> <Transaction> <Void> <PNRef>V54A09206691</PNRef> </Void> </Transaction> </Transactions> </RequestData> <RequestAuth> <UserPass> <User>user</User> <Password>password</Password> </UserPass> </RequestAuth> </XMLPayRequest>
XMLPay Examples
Card Void Request
5

Card Void Response

<?xml version="1.0" encoding=" UTF-8"?> <XMLPayResponse> <ResponseData> <Vendor>vendor</Vendor> <Partner>partner</Partner> <TransactionResults> <TransactionResult> <Result>0</Resu lt> <AVSResult> <StreetMatc h>Service Not Request ed</StreetMatch> <ZipMatch>S ervice Not Requested< /ZipMatch> </AVSResult> <CVResult>Servi ce Not Requested</ CVResult> <Message>Approv ed</Message> <PNRef>V54A0920 6748</PNRef> <HostCode>00</H ostCode> <OrigResult>0</ OrigResult> </TransactionResult> </TransactionResults> </ResponseData> </XMLPayResponse>
XMLPay Developer’s Guide 81
XMLPay Examples
5

Check Sale Request

Check Sale Request
<?xml version="1.0" encoding=" UTF-8"?>
<XMLPayRequest Timeout="30" ve rsion = "2.0" xmlns="http://www.paypal.com/X MLPay" > <RequestData> <Vendor>vendor</Vendor> <Partner>partner</Partner> <Transactions> <Transaction> <Sale> <PayData> <Invoice> <InvNum>1</InvNum> <Date>20020208</Date> <BillTo> <Name>billtoname</Name> <Address> <Street>street</Street> <City>city</City> <State>NY</State> <Zip>67890</Zip> <Country>US</Country> </Address> <EMail>email</EMail> <TaxExempt>false</TaxExempt> </BillTo> <NationalTaxIncl>true</NationalTaxIncl> <TotalAmt>24.97</TotalAmt> </Invoice> <Tender> <Check> <CheckType>P</CheckType> <CheckNum>1001</CheckNum> <MICR>12345678904390850001001</MICR> <DL>CA123456</DL> <SS>123456789</SS> <DOB>19000601</DOB> </Check> </Tender> </PayData> </Sale> </Transaction> </Transactions> </RequestData> <RequestAuth> <UserPass> <User>user</User> <Password>password</Password>
82 XMLPay Developer’s Guide
</UserPass> </RequestAuth> </XMLPayRequest>

Check Sale Response

<?xml version="1.0" encoding=" UTF-8"?>
<XMLPayResponse xmlns="http:// www.paypal.com/XML Pay"> <ResponseData> <Vendor>vendor</Vendor> <Partner>partner</Partner> <TransactionResults> <TransactionResult> <Result>0</Resu lt> <AVSResult> <StreetMatc h>Service Not Request ed</StreetMatch> <ZipMatch>Service Not Requested</Zip Match> </AVSResult> <CVResult>Servi ce Not Requested</ CVResult> <Message>Approv ed</Message> <PNRef>VCNB01775729</PNRef> <OrigResult>0</ OrigResult> </TransactionResult> </TransactionResults> </ResponseData> </XMLPayResponse>
XMLPay Examples

Customer IP

5
Customer IP
<?xml version="1.0" encoding=" UTF-8"?> <XMLPayRequest Timeout="30" ve rsion = "2.0" xmlns="http://www.paypal.com/X MLPay">
<RequestData>
<Vendor>vendor</Vendor> <Partner>partner</Partner>
<Transactions>
<Transaction>
<Authorization>
<PayData>
<Invoice>
<CustIP>192.168.100.31</CustIP > <NationalTaxIncl>false</Nation alTaxIncl>
<TotalAmt>24.97</TotalAmt> </Invoice> <Tender>
<Card>
<CardType>visa</CardType>
XMLPay Developer’s Guide 83
XMLPay Examples
5

Express Checkout Authorization Transaction

<CardNum>5105105105105100</Car dNum> <ExpDate>200911</ExpDate>
</Card> </Tender>
</PayData>
</Authorization>
</Transaction>
</Transactions> </RequestData> <RequestAuth>
<UserPass>
<User>user</User>
<Password>password</Password>
</UserPass>
</RequestAuth>
</XMLPayRequest>
Express Checkout Authorization Transaction

Set Express Checkout Request

<?xml version="1.0" encoding=" UTF-8"?>
<XMLPayRequest Timeout="30" ve rsion="2.1"> <RequestData> <Vendor>Vendor</Vendor> <Partner>partner</Partner> <Transactions> <Transaction> <SetExpressCheckout> <Authoriz ation> <PayData> <Invoice> <ShipTo> <Address> <Street>123 4th street</Street> <City>San Jose</City> <State>CA</State> <Zip>95032</Zip> <Country>USA</Country> </Address> </ShipTo> <TotalAmt>10.23</TotalAmt> <ExtData Name="VERBOSITY" Value="HIGH"/> </Invoice> <Tender> <PayPal>
84 XMLPay Developer’s Guide
XMLPay Examples
Express Checkout Authorization Transaction
<EMail>emailname@paypal.com</EMail> <ReturnURL>http://www.ebay.com</ReturnURL> <CancelURL>http://www.yahoo.com</CancelURL> </PayPal> </Tender> </PayData> </Authori zation> </SetExpressCheckout> </Transaction>
</Transactions> </RequestData>
<RequestAuth> <UserPass> <User>user</User> <Password>password</Password>
</UserPass>
</RequestAuth> </XMLPayRequest>
5

Set Express Checkout Response

<XMLPayResponse xmlns="http:// www.paypal.com/XML Pay">
<ResponseData>
<Vendor>vendor</Vendor> <Partner>partner</Partner> <Transaction Results>
<TransactionResult>
<Result>0</Result> <Message>Approved</Message> <PayPalResult>
<Token>EC-1R668591NV5623643</T oken>
<FeeAmount>0</FeeAmount> </PayPalResult> </TransactionResult>
</TransactionResults>
</ResponseData>
</XMLPayResponse>

Get Express Checkout Request

<?xml version="1.0" encoding=" UTF-8"?>
<XMLPayRequest Timeout="30" ve rsion="2.0">
<RequestData>
<Vendor>vendor</Vendor>
<Partner>partner</Partner> <Transactions> <Transact ion> <GetExpressCheckout>
XMLPay Developer’s Guide 85
XMLPay Examples
5
Express Checkout Authorization Transaction
<Authorization> <PayData> <Tender> <PayPal> <Token>EC-1R668591NV5623643</Token> </PayPal> </Tender> <Invoice> <ExtData Name="VERBOSITY" Value="HIGH" /> </Invoice> </PayData> </Authorization> </GetExpressCheckout> </Transac tion> </Transactions> </RequestData> <RequestAuth> <UserPass> <User>user</User> <Password>password</Password> </UserPass> </RequestAuth> </XMLPayRequest>

Get Express Checkout Response

<XMLPayResponse xmlns="http:// www.paypal.com/XML Pay">
<ResponseData>
<Vendor>vendor</Vendor>
<Partner>partner</Partner> <Transaction Results>
<TransactionResult>
<Result>0</Result> <AVSResult>
<StreetMatch>Match</StreetMatc h>
<ZipMatch></ZipMatch> </AVSResult> <Message>Approved</Message> <PayPalResult>
<EMail>echeung-b1@paypal.com</ EMail>
<PayerID>2BUBWABP28LFL</PayerI D>
<Token>EC-1R668591NV5623643</T oken>
<FeeAmount>0</FeeAmount>
<PayerStatus>verified</PayerSt atus>
<Name>Joshua</Name>
<ShipTo>
<Address>
<Company>AA Logos</Company> <Street>90252 Laurel Crest Dri ve</Street> <City>San Jose</City>
86 XMLPay Developer’s Guide
</ShipTo> </PayPalResult> <ExtData Name="LASTNAME" Valu e="Gonzalez"></ExtD ata>
</TransactionResult>
</TransactionResults>
</ResponseData>
</XMLPayResponse>

Do Express Checkout Request

<?xml version="1.0" encoding=" UTF-8"?> <XMLPayRequest Timeout="30" ve rsion="2.0">
<RequestData>
<Vendor>vendor</Vendor>
<Partner>partner</Partner>
<Transactions>
<Transaction>
<DoExpressCheckout>
<Authorization>
<PayData>
</PayData> </Authorization>
</DoExpressCheckout>
</Transaction>
</Transactions> </RequestData> <RequestAuth>
<UserPass>
<User>user</User> <Password>password</Password>
</UserPass> </RequestAuth>
</XMLPayRequest>
XMLPay Examples
Express Checkout Authorization Transaction
<State>CA</State> <Zip>95148</Zip> <Country>US</Country>
</Address>
<Invoice>
<TotalAmt Currency="840">1.23< /TotalAmt> </Invoice> <Tender>
<PayPal>
<Token>EC-1R668591NV5623643</T oken>
<PayerID>2BUBWABP28LFL</PayerI D> </PayPal> <Invoice>
<ExtData Name="VERBOSITY" Valu e="HIGH"/> </Invoice>
</Tender>
5
XMLPay Developer’s Guide 87
XMLPay Examples
5

IAVS Result Request

Do Express Checkout Response

<XMLPayResponse xmlns="http:/ /www.paypal.com/XM LPay">
<ResponseData>
<Vendor>vendor</Vendor> <Partner>partner</Partner> <TransactionResults>
<TransactionResult>
<Result>0</Result> <AVSResult>
</AVSResult> <Message>Approved</Message> <PNRef>EEEPB489DB3B</PNRef> <PayPalResult>
</PayPalResult>
</TransactionResult>
</TransactionResults><
/ResponseData>
</XMLPayResponse>
<StreetMatch>Match</StreetMatc h> <ZipMatch></ZipMatch>
<PayerID>2BUBWABP28LFL</PayerI D> <Token>EC-1R668591NV5623643</T oken> <PPRef>9HG32848HD669470X</PPRe f> <FeeAmount>0</FeeAmount> <PaymentType>instant</PaymentT ype> <PendingReason>authorization</ PendingReason>
IAVS Result Request
<?xml version="1.0" encoding=" UTF-8"?> <XMLPayResponse>
<ResponseData>
<Vendor>vendor</Vendor> <Partner>partner</Partner> <TransactionResults>
<TransactionResult>
<Result>0</Result> <IAVSResult>Y</IAVSResult> <AVSResult>
<StreetMatch>Service Not Avail able</StreetMatch>
<ZipMatch>Service Not Availabl e</ZipMatch> </AVSResult> <CVResult>Service Not Requeste d</CVResult> <Message>Approved</Message> <PNRef>V63A09910356</PNRef> <AuthCode>747PNI</AuthCode> <HostCode>00</HostCode> <OrigResult>0</OrigResult>
88 XMLPay Developer’s Guide
</ResponseData>
</XMLPayResponse>

Level 3 Invoice

<?xml version="1.0" encoding=" UTF-8"?> <XMLPayRequest Timeout="30" ve rsion = "2.0" xmlns="http://www.paypal.com/X MLPay">
<RequestData>
<Vendor>vendor</Vendor> <Partner>partner</Partner> <Transactions>
</Transactions> </RequestData> <RequestAuth>
<UserPass>
</UserPass> </RequestAuth>
</XMLPayRequest>
</TransactionResult>
</TransactionResults>
<Transaction>
<Authorization>
<PayData>
<Invoice>
<NationalTaxIncl>false</Nation alTaxIncl> <TotalAmt>24.97</TotalAmt> <Level3Invoice>
<CountyTax>
<Amount>1.23</Amount>
</CountyTax>
</Level3Invoice> </Invoice> <Tender>
<Card>
<CardType>visa</CardType> <CardType>Switch</CardType> <CardNum>5105105105105100</Car dNum> <ExpDate>200911</ExpDate> <NameOnCard/>
</Card> </Tender>
</PayData>
</Authorization>
</Transaction>
<User>user</User> <Password>password</Password>
XMLPay Examples
Level 3 Invoice
5
XMLPay Developer’s Guide 89
XMLPay Examples
5

Line Item Sale Request

Line Item Sale Request
<?xml version="1.0" encoding=" UTF-8"?>
<XMLPayRequest Timeout="30" ve rsion = "2.0" xmlns="http://www.paypal.com/X MLPay"> <RequestData> <Vendor>vendor</Vendor> <Partner>partner</Partner> <Transactions> <Transaction> <Sale> <PayData> <Invoice> <BillTo> <Name>billtoname</Name> <Address> <Street>street</Street> <City>c ity</City> <State>NY</State> <Zip>67890</Zip> <Country>US</Country> </Address> <EMail>email</EMail> <Phone>1234567890</Phone> <Fax>9876543210</Fax> <CustCode>custcode</CustCode> <PONum>123456</PONum> <TaxExempt>false</TaxExempt> </BillTo> <Items> <Item Number="1"> <SKU>1111</SKU> <UPC>9999</UPC> <Description>Widget</De scription> <Quantity>2</Quantity> UnitOfMeasurement>INQ</ UnitOfMeasurement> <UnitPrice>49.99</UnitP rice> <DiscountAmt>9.98</Disc ountAmt> <FreightAmt>3.00</Freig htAmt> <HandlingAmt>8.00</Hand lingAmt> <TotalAmt>101.00</TotalAmt> <PickUp> <Address> <Street>500 Main St.</Street> <City>Anytown</City> <State>NY</State> <Zip>67890</Zip> <Country>US</Country> </Address> <Time>15:30</Time>
90 XMLPay Developer’s Guide
XMLPay Examples
Line Item Sale Request
<Date>20030630</Date> <RecordNumber>24680</RecordNumber> </PickUp> <TrackingNumber>ABC0123 </TrackingNumber> <Delivery> <Date>20030714</Date> <Time>12:00</Time> </Delivery> <UNSPSCCode>54.10.15.05</UNSPSCCode> </Item> <Item Number="2"> <SKU>2222</SKU> <UPC>8888</UPC> <Description>Gizmo</Des cription> <Quantity>5</Quantity> <UnitOfMeasurement>INQ< /UnitOfMeasurement> <UnitPrice>9.99</UnitPrice> <DiscountAmt>2.50</Disc ountAmt> <FreightAmt>3.00</Freig htAmt> <HandlingAmt>2.50</Hand lingAmt> <TotalAmt>52.95</TotalAmt> <PickUp> <Address> <Street>500 Main St.</Street> <City> Anytown</City> <State>NY</State> <Zip>6 7890</Zip> <Country>US</Country> </Address> <Time>09:00</Time> <Date>20030628</Date> <RecordNumber>13 579</RecordNumber> </PickUp> <TrackingNumber>XYZ7890 </TrackingNumber> <Delivery> <Date>20030711</Date> <Time>09:00</Time> </Delivery> <UNSPSCCode>54.10.16.05 </UNSPSCCode> </Item> </Items> <TaxAmt>13.47</TaxAmt> <NationalTaxIncl>false</NationalTaxIncl> <TotalAmt>167.42</TotalAmt> </Invoice> <Tender> <Card> <CardType>mastercard</CardType> <CardNum>5105105105105100</CardNum> <ExpDate>200912</ExpDate> </Card>
5
XMLPay Developer’s Guide 91
XMLPay Examples
5

Merchant Description and Merchant Service Number

</Tender> </PayData> </Sale> </Transaction> /Transactions> </RequestData> <RequestAuth> <UserPass> <User>user</User> <Password>password</Password> </UserPass> </RequestAuth> </XMLPayRequest>

Line Item Sale Response

<?xml version="1.0" encoding=" UTF-8"?>
<XMLPayResponse xmlns="http:// www.paypal.com/XML Pay"> <ResponseData> <Vendor>vendor</Vendor> <Partner>partner</Partner> <TransactionResults> <Transaction Result> <Result>0</Resu lt> <AVSResult> <StreetMatch >Match</StreetMatch> <ZipMatch>Match</ZipMatch> </AVSResult> <CVResult>Service Not Requested</CVResult > <Message>Approv ed</Message> <PNRef>VTHA5539 5881</PNRef> <AuthCode>624PN I</AuthCode> <HostCode>00</HostCode> <OrigResult>0</ OrigResult> </TransactionResult> </TransactionResults> </ResponseData> </XMLPayResponse>
Merchant Description and Merchant Service Number
<?xml version="1.0" encoding=" UTF-8"?> <XMLPayRequest Timeout="30" ve rsion = "2.0" xmlns="http://www.paypal.com/X MLPay">
<RequestData>
<Vendor>vendor</Vendor> <Partner>partner</Partner>
92 XMLPay Developer’s Guide
<Transactions>
<Transaction>
</Transaction>
</Transactions> </RequestData> <RequestAuth>
<UserPass>
<User>user</User> <Password>password</Password> </UserPass>
</RequestAuth>
</XMLPayRequest>
<Authorization>
<PayData>
<Invoice>
<MerchantDescription></Merchan tDescription> <MerchantServiceNum></Merchant ServiceNum> <NationalTaxIncl>false</Nation alTaxIncl>
<TotalAmt>24.97</TotalAmt> </Invoice> <Tender>
<Card>
<CardType>visa</CardType> <CardNum>5105105105105100</Car dNum> <ExpDate>200911</ExpDate> <NameOnCard/>
</Card> </Tender>
</PayData>
</Authorization>
XMLPay Examples

Processor Result

5
Processor Result
<?xml version="1.0" encoding=" UTF-8"?> <XMLPayResponse>
<ResponseData>
<Vendor>vendor</Vendor> <Partner>partner</Partner> <TransactionResults>
<TransactionResult>
<Result>0</Result> <ProcessorResult>
<AVSResult>Z</AVSResult> <CVResult>T</CVResult>
<STAN>13523</STAN> </ProcessorResult> <AVSResult>
<StreetMatch>Service Not Avail able</StreetMatch>
<ZipMatch>Service Not Availabl e</ZipMatch>
XMLPay Developer’s Guide 93
XMLPay Examples
5

Recurring Billing Profile

</TransactionResult>
</TransactionResults>
</ResponseData>
</XMLPayResponse>
Recurring Billing Profile
This section includes a sample ACH recurring billing profile and a sample credit card billing profile
</AVSResult> <CVResult>Service Not Requeste d</CVResult> <Message>Approved</Message> <PNRef>V63A09910356</PNRef> <AuthCode>747PNI</AuthCode> <HostCode>00</HostCode> <OrigResult>0</OrigResult>

ACH Recurring Billing Profile

<?xml version="1.0" encoding=" UTF-8"?>
<XMLPayRequest Timeout="30" ve rsion = "2.0" > <RequestData> <Vendor>vendor</Vendor> <Partner>partner</Partner> <RecurringProfiles> <RecurringProfile Id = "10001" > <Add> <Tender> <ACH> <AcctType>C</Ac ctType> <AcctNum>51051051051051 00</AcctNum> <ABA>091000019</ABA> </ACH> </Tender> <RPData> <Name>Test Profile</Name> <TotalAmt>1.23</TotalAmt> <Start>03042004</Start> <Term>12</Term> <PayPeriod>Weekly</PayPeriod> <EMail>a.com</E Mail> <BillTo> <Address> <Street >123 4th street</S treet> <City>S an Jose</City> <State> CA</State> <Zip>95 032</Zip>
94 XMLPay Developer’s Guide
<Countr y>USA</Country> </Address> </BillTo> </RPData> </Add> </RecurringProfile> </RecurringProfiles> </RequestData> <RequestAuth> <UserPass> <User>v3test</User> <Password>password</Password> </UserPass> </RequestAuth> </XMLPayRequest>

Credit Card Recurring Billing Profile

Payflow XML does not parse certain name-value pair (NVP) tags. For example, to pass a value for the CURRENCY tag, which is not supported, you must pass it as extended data (ExtData) as shown below.
XMLPay Examples
Recurring Billing Profile
5
<?xml version="1.0" encoding=" UTF-8" ?>
<XMLPayRequest Timeout="30" ve rsion="2.0">
<RequestData>
<Vendor>vendor</Vendor> <Partner>partner</Partner> <RecurringProfiles>
<RecurringProfile Id="1">
<Add>
<Tender>
<Card>
<CardNum>5105105105105100</Car dNum> <ExpDate>200803</ExpDate> <NameOnCard>name</NameOnCard>
</Card> </Tender> <RPData>
<Name>Test Profile</Name>
<ExtData Name="CURRENCY" Value="EUR"></ExtData>
<TotalAmt>1.23</TotalAmt>
<Start>12122004</Start>
<Term>12</Term>
<PayPeriod>Weekly</PayPeriod>
<EMail>a.com</EMail>
<OptionalTrans>Sale</OptionalT rans>
<OptionalTransAmt>12</Optional TransAmt>
<BillTo>
<Address>
XMLPay Developer’s Guide 95
XMLPay Examples
5

Shipping Carrier and Shipping Method

</RequestData> <RequestAuth>
</RequestAuth>
</XMLPayRequest>
<Street>123 4th street</Street> <City>San Jose</City> <State>CA</State> <Zip>95032</Zip>
</Address>
</BillTo> </RPData>
</Add>
</RecurringProfile>
</RecurringProfiles>
<UserPass>
<User>user</User> <Password>password</Password>
</UserPass>
Shipping Carrier and Shipping Method
<?xml version="1.0" encoding=" UTF-8"?> <XMLPayRequest Timeout="30" ve rsion = "2.0" xmlns="http://www.paypal.com/X MLPay">
<RequestData>
<Vendor>vendor</Vendor> <Partner>partner</Partner> <Transactions>
<Transaction>
<Authorization>
<PayData>
<Invoice>
<ShipCarrier>UPS</ShipCarrier>
<ShipMethod>Next Day</ShipMethod>
<NationalTaxIncl>false</Nation alTaxIncl>
<TotalAmt>24.97</TotalAmt> </Invoice> <Tender>
<Card>
<CardType>visa</CardType> <CardNum>5105105105105100</Car dNum> <ExpDate>200911</ExpDate> <NameOnCard/>
</Card> </Tender>
</PayData>
</Authorization>
</Transaction>
</Transactions>
96 XMLPay Developer’s Guide
</RequestData> <RequestAuth>
<UserPass>
<User>user</User> <Password>password</Password> </UserPass>
</RequestAuth>
</XMLPayRequest>

Transaction Update

<?xml version="1.0" encoding=" UTF-8"?> <XMLPayRequest Timeout="40" xm lns="http://www.pa ypal.com/XMLPay">
<RequestData>
<Vendor>vendor</Vendor> <Partner>partner</Partner> <Transactions>
<Transaction>
<TransactionUpdate>
</TransactionUpdate>
</Transaction>
</Transactions> </RequestData> <RequestAuth>
<UserPass>
<User>user</User> <Password>password</Password>
</UserPass> </RequestAuth>
</XMLPayRequest>
<PNRef>V53A12345678</PNRef> <Action> Approve</Action>
XMLPay Examples
Transaction Update
5
<?xml version="1.0" encoding=" UTF-8"?> <XMLPayResponse>
<ResponseData>
<Vendor>vendor</Vendor>
<Partner>partner</Partner>
<TransactionResults>
<TransactionResult>
<Result>0</Result> <Message>Approved</Message> <PNRef>V63A09910356</PNRef> <AuthCode>747PNI</AuthCode> <HostCode>00</HostCode> <OrigResult>0</OrigResult>
</TransactionResult>
</TransactionResults> </ResponseData>
XMLPay Developer’s Guide 97
XMLPay Examples
5

ValidateAuthentication Request

</XMLPayResponse>
ValidateAuthentication Request
<?xml version="1.0"?>
<XMLPayRequest> <RequestData> <Vendor>vendor</Vendor> <Partner>partner</Partner> <Transactions> <Transaction> <ValidateAuthen tication> <PARes>pares bloc</PARes> </ValidateAuthe ntication> </Transaction> </Transactions> </RequestData> <RequestAuth> <UserPass> <User>user</Use r> <Password>passw ord</Password> </UserPass> </RequestAuth> </XMLPayRequest>

ValidateAuthentication Response

<?xml version="1.0"?>
<XMLPayResponse>
<ResponseData>
<Vendor>vendor</Vendor>
<Partner>partner</Partner>
<TransactionResults>
<TransactionResult>
<Result>0</Result> <Message>OK</Message> <BuyerAuthResult>
<Status>Y</Status> <AuthenticationId>CTEremezUA7P kaDwP0Qk</Authentic ationId> <ECI>5</ECI> <CAVV>BwAQAJVyYAQECQJTMnJgAAAA AAA=</CAVV> <XID>8abmK0K1Sf9OujrESKKrKkJCP 4I=</XID>
</BuyerAuthResult>
</TransactionResult>
98 XMLPay Developer’s Guide
</TransactionResults> </ResponseData>
</XMLPayResponse>

VerifyEnrollment Request

<?xml version="1.0"?>
<XMLPayRequest> <RequestData> <Vendor>vendor</Vendor> <Partner>partner</Partner> <Transactions> <Transaction> <VerifyEnro llment> <PayDat a> <In voice> <TotalAmt Currency = "840">12.16</TotalA mt> </I nvoice> <Te nder> <Card> <CardNum>4000000 000000002</CardNum> <ExpDate>200411 </ExpDate> </Card> </T ender> </PayDa ta> </VerifyEnr ollment> </Transaction> </Transactions> </Re questData> <Req uestAuth> <UserPass> <User>user</Use r> <Password>assword</Password> </UserPass> </RequestAuth> </XMLPayRequest>
XMLPay Examples
VerifyEnrollment Request
5

VerifyEnrollment Response

<?xml version="1.0"?>
<XMLPayResponse>
<ResponseData>
<Vendor>vendor</Vendor>
<Partner>partner</Partner>
XMLPay Developer’s Guide 99
XMLPay Examples
5
VerifyEnrollment Response
</XMLPayResponse>
<TransactionResults>
<TransactionResult>
<Result>0</Result> <Message>OK</Message> <BuyerAuthResult>
<Status>E</Status> <AuthenticationId>CTEremezUA7P kaDwP0Qk</Authentic ationId> <PAReq>pareq bloc</PAReq> <ACSUrl>https://bankacs.bank.c om/ascurl\</ACSUrl> <ECI>7</ECI>
</BuyerAuthResult>
</TransactionResult>
</TransactionResults> </ResponseData>
100 XMLPay Developer’s Guide
Loading...