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.
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 . . . . . . . . . . .
Contents AdditionalAmounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Tender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 RPData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ExtData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents Card Capture Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Card Capture Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Card Credit Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Card Credit Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Card Credit Reference Credit Request . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents VerifyEnrollment Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 VerifyEnrollment Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Appendix A XMLPay Schemas . . . . . . . . . . . . . . . . . . . . . 101 XMLPay Schema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101 XMLPay Types Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Appendix B XMLPay DTD . . . . . . . . . . . . . .
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.
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.
1 XMLPay Overview 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.
1 XMLPay Overview Using XMLPay Example 1 MasterCard 495576040004 200011 CVNum>828 Example 2
XMLPay Overview XMLPay Processing Models z Corporate purchase cards: Levels 1, 2, and 3 z Automated Clearing House (ACH) 1 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.
1 XMLPay Overview 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 businessfocused purchasing information (such as level 3 corporate purchase card data) to a payment gateway.
XMLPay Overview XMLPay Messaging 1 XMLPayRequest Payment transactions are submitted, one or more at a time, as XMLPayRequest documents. The high-level structure of a request looks like this: 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.
1 XMLPay Overview XMLPay Messaging N O T E : Signature and TransactionReceipts are not supported on the Payment server. See Chapter 2, “XMLPay Syntax,” for a detailed description of response documents.
2 XMLPay Syntax 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.
2 XMLPay Syntax The XMLPayRequest Document (Transactions) (Transaction)+ (RequestAuth)? Attribute Description Vendor Identifies 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. Transaction Defined on page 16.
XMLPay Syntax The XMLPayRequest Document (Transactions) 2 (Invoice) (Tender) (ExtData)* 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).
2 XMLPay Syntax The XMLPayRequest Document (Transactions) Attribute Description ExtData Optional element that may carry extended data (outside the syntax of the XMLPay schema). Credit Transaction A credit transaction reverses a previous sale or capture transaction. (PNRef|Tender) (Invoice)? (ExtData)* Attribute Description PNRef|Tender The transaction to be credited is identified by PNRef.
XMLPay Syntax The XMLPayRequest Document (Transactions) 2 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.
2 XMLPay Syntax The XMLPayRequest Document (Transactions) (Tender) (AuthCode) (ExtData)* Attribute Description AuthCode Authorization code received out-of-band. 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). GetStatus Transaction A GetStatus transaction queries the status of a previous transaction.
XMLPay Syntax The XMLPayRequest Document (Transactions) Attribute Description ExtData Optional element that may carry extended data (outside the syntax of the XMLPay schema). 2 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.
2 XMLPay Syntax 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. PAGE 23XMLPay Syntax The XMLPayRequest Document (Recurring Profiles) 2 Add Recurring Profile Add a new recurring profile either by sending all data required to define the profile or by converting an existing transaction into a profile. (RPData) (Tender) Attribute Description RPData Describes recurring profile details. Defined on page 36.
2 XMLPay Syntax The XMLPayRequest Document (Recurring Profiles) (RPData) (Tender) (ProfileID) 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.
XMLPay Syntax Core Structures 2 C o r e St r u c t u r e s PayData (Invoice) (Tender) Attribute Description Invoice Describes the details of a purchase. Defined on page 25. Tender Describes the payment instrument. Defined on page 32. PayDataAuth 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.
2 XMLPay Syntax Core Structures (EMail)? (Phone)? (Phone2)? (Fax)? (CustCode)? (PONum)? (TaxExempt)? (PhoneType)? ? ? (Name)? (Address)? (EMail)? (Phone)? (Fax)? (ShipFromEU)? (Name)? (Address)? (EMail)? (Phone)? (Phone2) (Fax)? (ShipToEU)? (Description)* (Items)* (DiscountAmt)? (ShippingAmt)? (DutyAmt)? (TaxAmt)? (NationalTaxIncl)? (TotalAmt)? (FreightAmt)? (HandlingAmt)? (ItemAmt)? (Comment)? (Level3Invoice) (Memo) (Custom) (
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.
2 XMLPay Syntax Core Structures Attribute Description DiscountAmt Discount to be applied to the item subtotal. ShippingAmt Total 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.
XMLPay Syntax Core Structures 2 Item - (SKU)? (UPC)? (Description)? (Quantity)? (UnitOfMeasurement)? (UnitPrice)? (DiscountAmt)? (TaxAmt)? (ShippingAmt)? (FreightAmt)? (HandlingAmt)? (TotalAmt)? (Address)? (Time)? (Date)? (RecordNumber)? (Date)? (Time)? (CostCenterNumber)? (TrackingNumber)? (CatalogNumber)? (UNSPSCCode)? (ExtData)*
Attribute Description Number Line number for the item in the invoice.
2 XMLPay Syntax 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.
XMLPay Syntax Core Structures Attribute Description MerchantCountryCode Merchant’s country code (ISO 3166). Default is US. MerchantZip Merchant’s postal code. 2 AdditionalAmounts (Amount1)? (Amount2)? (Amount3)? (Amount4)? (Amount5)? Attribute Description Amount1 Amount2 Amount3 Amount4 Amount5 Address
(Street)? (City)? (State)? (Zip)? (Country)? Attribute Description Street Street address, including number. City City name.2 XMLPay Syntax Core Structures Tender (ACH|Card|Check|Debit|PayPal) ACH ACH (Automated Clearing House) tender detail. (AcctType) (AcctNum) (ABA) (Prenote)? (AuthType) (CheckNum) (TermCity) (TermState) (DL) (SS) (DOB) (DLState) (BankName) (SellerMsg) (BusName) (ExtData)* Attribute Description AcctType Type of the bank account: checking or savings. AcctNum Account number. ABA Bank routing number. AuthType Method of authorization. Prenote Boolean.
XMLPay Syntax Core Structures 2 (CVNum)? (MagData)? (NameOnCard)? (ExtData)* 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. CardNum Account number. ExpDate Card expiration date: YYYYMM or ISO 8601.
2 XMLPay Syntax 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.
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.
2 XMLPay Syntax Core Structures RPData Recurring Profile payment and scheduling details. (Name)? (TotalAmt)? (Start)? (Term)? (PayPeriod)? (MaxFailPayments)? (RetryNumDays)? (EMail)? (CompanyName)? (Comment)? (OptionalTrans)? (OptionalTransAmt)? (Name)? (Address)? (Phone)? (Fax)? (Name)? (Address)? (Phone)? (Fax)? (OrigProfileID)? (PaymentNum)? (ExtData)* 36 Attribute Description Name Account holder's name.
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. BillTo Name, Address, Phone, and Fax Information about the buyer.
2 XMLPay Syntax The XMLPayResponse Document (Transactions) Attribute Description Vendor Identifies the merchant of record for the transaction within the payment processing network. Partner Identifies the partner who submitted the transaction on behalf of the vendor. TransactionResult Defined on page 38. Signature Optional signature over ResponseData, executed by the payment processing gateway using the W3C XML Signature syntax.
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.
2 XMLPay Syntax The XMLPayResponse Document (Transactions) Element Description ExtData Optional element that may carry extended data (outside the syntax of the XMLPay schema). Attribute Description Result Number that indicates outcome of the transaction (see Appendix C, “Transaction Results”). CustRef Reference string that identifies the customer. Duplicate Identify if the transaction has been run before.
XMLPay Syntax The XMLPayResponse Document (Recurring Profiles) Attribute Description Email Customer’s email address. PayerID Unique encrypted PayPal customer account identification 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.
2 XMLPay Syntax The XMLPayResponse Document (Recurring Profiles) Attribute Description Vendor Identifies the merchant of record for the transaction within the payment processing network. Partner Identifies the partner who submitted the transaction on behalf of the vendor. RecurringProfileResult Defined on page 43. Signature Optional signature over ResponseData, executed by the payment processing gateway using the W3C XML Signature syntax.
XMLPay Syntax The XMLPayResponse Document (Recurring Profiles) 2 RecurringProfileResult Non-Inquiries Response for Add, Modify, Cancel, Reactivate, and Payment actions. (Result) (Message)? (ProfileID)? (RPRef)? (TransactionResult)? (ExtData)* Attribute Description Result Number that indicates outcome of the transaction (see Appendix C, “Transaction Results”). Message Descriptive message describing Result.
2 XMLPay Syntax The XMLPayResponse Document (Recurring Profiles) (PaymentsLeft)? (NextPayment)? (AggregateAmt)? (AggregateOptionalTransAmt)? (NumFailedPayments)? (Tender)? (BillTo)? (ShipTo)? (ExtData)* 44 Attribute Description Result Number that indicates outcome of the transaction (see Appendix C, “Transaction Results”). Message Descriptive message describing Result. ProfileID Profile ID of the profile that gets the action.
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 extended data (outside the syntax of the XMLPay schema).
2 46 XMLPay Syntax The XMLPayResponse Document (Recurring Profiles) XMLPay Developer’s Guide
3 XMLPay Elements 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.
3 XMLPay Elements 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 48 Retail credit card transaction parameters Payflow SDK Parameter Description XMLPay Element ABA Bank routing number.
XMLPay Elements Credit Card Transaction Parameters TABLE 3.2 3 Retail credit card transaction parameters Payflow SDK Parameter Description XMLPay Element DESC1-4 Up to 4 additional lines describing the transaction. Item→Description 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.
3 XMLPay Elements Credit Card Transaction Parameters TABLE 3.2 50 Retail credit card transaction parameters Payflow SDK Parameter Description XMLPay Element L_HANDLINGAMT Line item handling amount. Item→HandlingAmt 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_PICKUPTIME Pickup time.
XMLPay Elements Credit Card Transaction Parameters TABLE 3.2 3 Retail credit card transaction parameters Payflow SDK Parameter Description XMLPay Element PONUM Specified by the cardholder to identify the order. Usually used as a Purchase Order number. BillTo→PONum PRENOTE Identifies the transaction as an authorization for future transactions. Prenote PWD The 6- to 32-character password that you defined while registering for the account. This value is case-sensitive.
3 XMLPay Elements Credit Card Transaction Parameters TABLE 3.2 Retail credit card transaction parameters Payflow SDK Parameter Description XMLPay Element TRXTYPE The type of transaction. For XMLPay: z Authorization z Capture z Sale z Credit z Void z ForceCapture z RepeatSale z GetStatus XMLPay transaction type USER If you set up one or more additional users on the account, this value is the ID of the user authorized to process transactions.
XMLPay Elements Credit Card Transaction Parameters TABLE 3.
3 XMLPay Elements Credit Card Transaction Parameters TABLE 3.
XMLPay Elements Credit Card Transaction Parameters TABLE 3.
3 XMLPay Elements Credit Card Transaction Parameters TABLE 3.
XMLPay Elements Credit Card Transaction Parameters TABLE 3.
3 XMLPay Elements Buyer Authentication Transaction Parameters TABLE 3.3 Level 3 (commercial) credit card transaction parameters Payflow SDK Parameter Description XMLPay Element L_VATAXAMT Value added tax amount line item Level3Item→ ValueAddedTax L_VATAXEXEMPTCODE Value added tax exemption code line item Level3Item→ ValueAddedTax L_VATAXPERCENT Value added tax rate line item Level3Item→ ValueAddedTax Buyer Authentication Transaction Parameters Table 3.
XMLPay Elements Credit Card Transaction Response Parameters TABLE 3.5 3 Transaction response parameters Payflow SDK Parameter Description XMLPay Element AUTHCODE Returned for Sale Authorization. AuthCode AVSADDR AVS address verification response. AVSResult AVSZIP AVS ZIP code verification response.
3 XMLPay Elements ACH Transaction Parameters (Norwest) ACH Transaction Parameters (Norwest) Table 3.6 lists the ACH transaction parameters. These parameters are specific to Norwest. TABLE 3.6 Transaction response parameters Payflow SDK Parameter Description XMLPay Element TERMCITY City of terminal that captured the transaction ACH→TermCity TERMSTATE State of terminal that captured the transaction ACH→TermState PayPal Express Checkout Request Transaction Parameters Table 3.
XMLPay Elements PayPal Express Checkout Request Transaction Parameters TABLE 3.7 3 Express Checkout request parameters (Continued) Express Checkout Parameter Description XMLPay Element 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. PayPal→HeaderBorderColor HDRIMG URL for the image you want to appear at the top left of the payment page.
3 XMLPay Elements PayPal Express Checkout Request Transaction Parameters TABLE 3.7 Express Checkout request parameters (Continued) Express Checkout Parameter 62 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. PayPal→PageStyle PAYERID Unique encrypted PayPal customer account identification number.
XMLPay Elements PayPal Express Checkout Response Transaction Parameters 3 PayPal Express Checkout Response Transaction Parameters Table 3.7 lists the PayPal Express Checkout response transaction parameters. TABLE 3.8 Mapping Express Checkout parameters to XMLPay parameters Express Checkout Parameter Description XMLPay Element 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.
3 64 XMLPay Elements PayPal Express Checkout Response Transaction Parameters XMLPay Developer’s Guide
4 XMLPay Transaction Profiles 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.
4 XMLPay Transaction Profiles 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.
XMLPay Transaction Profiles Check Transactions 4 N O T E : 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 z BillTo.EMail z BillTo.
4 XMLPay Transaction Profiles 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: 68 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.
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. N O T E : 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.
5 XMLPay Examples 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 XMLPayRequest Timeout="30" version = "2.0" xmlns="http://www.paypal.
XMLPay Examples Card Authorization Request 5 ACH Sale Response PAGE 725 XMLPay Examples Card Authorization Request 24.97 visa 5105105105105100 200911 user password Card Authorization Response
XMLPay Examples Card Capture Request 5 Card Capture Request vendor partner V63A09910356 user password Card Capture Response
5 XMLPay Examples Card Credit Request Card Credit Request vendor VeriSign 10.
XMLPay Examples Card Credit Reference Credit Request 5 Card Credit Response vendor verisign 0 Approved V18A0FA3CBC2 Card Credit Reference Credit Request
5 XMLPay Examples Card Force Capture Request vendor partner 105 Service Not Requested Service Not Requested Service Not Requested Credit error V54A09206685 0 Card Force C
XMLPay Examples Card Sale Request 5 user password Card Force Capture Response
5 XMLPay Examples Card Sale Request false 24.97 visa 5105105105105100 200911 user password Card Sale Response
XMLPay Examples Card Secure Request 5 Card Secure Request vendor partner false 24.
5 XMLPay Examples Card Status Request Card Status Request PAGE 81XMLPay Examples Card Void Request 5 Card Void Request PAGE 825 XMLPay Examples Check Sale Request Check Sale Request PAGE 83XMLPay Examples Customer IP 5
Check Sale Response PAGE 845 XMLPay Examples Express Checkout Authorization Transaction 5105105105105100 200911 user password
Express Checkout Authorization Transaction Set Express Checkout Request PAGE 85XMLPay Examples Express Checkout Authorization Transaction 5 emailname@paypal.com http://www.ebay.com http://www.yahoo.com user password
Set Express Checkout Response PAGE 865 XMLPay Examples Express Checkout Authorization Transaction EC-1R668591NV5623643 user password
Get Express Checkout Response PAGE 87XMLPay Examples Express Checkout Authorization Transaction 5 CA 95148 US
Do Express Checkout Request PAGE 885 XMLPay Examples IAVS Result Request Do Express Checkout Response PAGE 89XMLPay Examples Level 3 Invoice 5
Level 3 Invoice vendor partner false 24.97 1.
5 XMLPay Examples Line Item Sale Request Line Item Sale Request PAGE 91XMLPay Examples Line Item Sale Request 5 20030630 24680 ABC0123 20030714 54.10.15.05 - 2222 8888 Gizmo 5 INQ 9.99 2.50 3.
5 XMLPay Examples Merchant Description and Merchant Service Number /Transactions> user password Line Item Sale Response PAGE 93XMLPay Examples Processor Result 5 false 24.
5 XMLPay Examples Recurring Billing Profile Service Not Requested Approved V63A09910356 747PNI 00 0 Recurring Billing Profile This section includes a sample ACH recurring billing profile and a sample credit card billing profile ACH Recurring Billing Profile
XMLPay Examples Recurring Billing Profile 5 USA v3test password Credit Card Recurring Billing Profile Payflow XML does not parse certain name-value pair (NVP) tags.
5 XMLPay Examples Shipping Carrier and Shipping Method 123 4th street San Jose CA 95032 user password Shipping Carrier and Shipping Method PAGE 97XMLPay Examples Transaction Update 5 user password
Transaction Update PAGE 985 XMLPay Examples ValidateAuthentication Request ValidateAuthentication Request
XMLPay Examples VerifyEnrollment Request 5 VerifyEnrollment Request vendor partner 12.
5 XMLPay Examples VerifyEnrollment Response 0 OK E CTEremezUA7PkaDwP0Qk pareq bloc https://bankacs.bank.com/ascurl\ 7 100 XMLPay Developer’s Guide
A XMLPay Schemas This appendix contains the XMLPay schema. N O T E : The RepeatSale element is defined, but not supported. XMLPay Schema PAGE 102A XMLPay Schemas XMLPay Schema PAGE 103XMLPay Schemas XMLPay Schema A PAGE 104A XMLPay Schemas XMLPay Schema
PAGE 105XMLPay Schemas XMLPay Schema A
A XMLPay Schemas XMLPay Schema
XMLPay Schemas XMLPay Schema A
A XMLPay Schemas XMLPay Schema name = "HostResponse" type = "string" minOccurs="0" maxOccurs="1"/> name = "AMEXID" type = "string" minOccurs = "0" maxOccurs = "1"/> name = "BalanceAmount" type = "string" minOccurs = "0" maxOccurs = "1"/> ref = "ExtData" minOccurs = "0" maxOccurs = "unbounded"/>
XMLPay Schemas XMLPay Schema A PAGE 110A XMLPay Schemas XMLPay Schema
XMLPay Schemas XMLPay Schema A
A XMLPay Schemas XMLPay Schema PAGE 113XMLPay Schemas XMLPay Schema "Status" type = "RPStatusType" minOccurs = "0" maxOccurs = "1"/> "Name" type = "RPNameType" minOccurs="0" maxOccurs="1"/> "Start" type = "RPDateType" minOccurs="0" maxOccurs="1"/>
A XMLPay Schemas XMLPay Types Schema "PayPeriodType" base = "string"> value = "Weekly"/> value = "Bi-weekly"/> value = "Semi-monthly"/> value = "Every four weeks"/> value = "Monthly"/> value = "Quarterly"/> value = "Semi-yearly"/> value = "Yearly"/>
XMLPay Schemas XMLPay Types Schema A PAGE 116A XMLPay Schemas XMLPay Types Schema PAGE 117XMLPay Schemas XMLPay Types Schema
A ref = "AdditionalAmounts" minOccurs = "0" maxOccurs = "1"/> name = "SKU" type = "SKUType" minOccurs = "0" maxOccurs = "1"/> name = "CustomerHostName" type = "string" minOccurs = "0" maxOccurs = "1"/> name = "CustomerBrowser" type = "string" minOccurs = "0" maxOccurs = "1"/> PAGE 118A XMLPay Schemas XMLPay Types Schema
XMLPay Schemas XMLPay Types Schema A PAGE 120A XMLPay Schemas XMLPay Types Schema
XMLPay Schemas XMLPay Types Schema A
A XMLPay Schemas XMLPay Types Schema
XMLPay Schemas XMLPay Types Schema A
A XMLPay Schemas XMLPay Types Schema "Zip" type = "ZipType" minOccurs = "0" maxOccurs = "1"/> "Country" type = "CountryCode" minOccurs = "0" maxOccurs = "1"/> "AddressLine1" type = "AddressLineType" minOccurs = "0" maxOccurs = "1"/>
XMLPay Schemas XMLPay Types Schema A
A XMLPay Schemas XMLPay Types Schema
XMLPay Schemas XMLPay Types Schema A
A XMLPay Schemas XMLPay Types Schema
XMLPay Schemas XMLPay Types Schema A PAGE 130A XMLPay Schemas XMLPay Types Schema "StatusType" base = "string"> value = "New"/> value = "Update"/> value = "Replace"/>
B XMLPay DTD A document type definition (DTD) defines the structure of an XML document. With a DTD you can define the set and order of tags, as well as the attributes for each. A well-formed XML document is considered valid when it conforms to its corresponding DTD. The following is a document type definition (DTD) representation of the XMLPay schema.
B XMLPay DTD
XMLPay DTD B
B XMLPay DTD
XMLPay DTD B
B XMLPay DTD
XMLPay DTD B
B XMLPay DTD
XMLPay DTD B
B XMLPay DTD
XMLPay DTD B
B XMLPay DTD
XMLPay DTD B
B XMLPay DTD
C Transaction Results The transaction result status response (RESULT) is the first value returned from the Payflow SDK server. This value indicates the overall status of the transaction attempt. The response message (RESPMSG) provides a brief description for decline or error results. z A value of 0 (zero) indicates that no errors occurred and the transaction was approved. z A value greater than zero indicates a decline or error. See Table C.1.
C Transaction Results TABLE C.1 146 Payflow transaction RESULT values and RESPMSG text (Continued) RESULT RESPMSG and Explanation 10 Too many line items 11 Client time-out waiting for response 12 Declined. Check the credit card number, expiration date, and transaction information to make sure they were entered correctly. If this does not resolve the problem, have the customer call their card issuing bank to resolve. 13 Referral.
Transaction Results TABLE C.1 Payflow transaction RESULT values and RESPMSG text (Continued) RESULT RESPMSG and Explanation 34 Error in forcing the recurring profile 35 Error in reactivating the recurring profile 36 OLTP Transaction failed 37 Invalid recurring profile ID 50 Insufficient funds available in account 51 Exceeds per transaction limit 99 General error. See RESPMSG.
C Transaction Results TABLE C.1 148 Payflow transaction RESULT values and RESPMSG text (Continued) RESULT RESPMSG and Explanation 115 System busy, try again later 116 VPS Internal error. Failed to lock terminal number 117 Failed merchant rule check. One or more of the following three failures occurred: An attempt was made to submit a transaction that failed to meet the security settings specified on the PayPal Manager Security Settings page.
Transaction Results TABLE C.1 Payflow transaction RESULT values and RESPMSG text (Continued) RESULT RESPMSG and Explanation 200 Reauth error 201 Order error 402 PIM Adapter Unavailable 403 PIM Adapter stream error 404 PIM Adapter Timeout 600 Cybercash Batch Error 601 Cybercash Query Error 1000 Generic host error. This is a generic message returned by your credit card processor. The RESPMSG will contain more information describing the error.
C Transaction Results AVS Result Codes TABLE C.
Transaction Results AVS Result Codes C Results can vary on the same transaction detail screen. In other words, AVS Street Match = Y and AVS Zip Match = N (and vice versa) could appear on the same transaction detail screen. When service is unavailable, no code is returned.
C 152 Transaction Results AVS Result Codes XMLPay Developer’s Guide
Index Index A ABA ACH attribute 32 AcctNum ACH attribute 32 AcctType ACH attribute 32 ACH transaction parameters 60 transaction profiles 65 ACH attributes 32 ACH sale request example 70 ACH sale response example 71 ACHStatus TransactionResult attribute 39 ACSUrl BuyerAuthResult attribute 42 add recurring profile attributes 23 adding a recurring profile 23 AdditionalAmounts Invoice attribute 28 Address Invoice attribute 27 PayPalResult attribute 41 RPData attribute 37 Address attributes 30, 31 Address Verif
Index TransactionResult attribute 39 BuyerAuthResult attributes 42 C cancel recurring profile attributes 23 cancelling a recurring profile 23 capture transaction attributes 17, 19 Card attributes 33 card authorization request example 71 card capture request example 73 card capture response example 73 card credit request example 75 card credit response example 75 card force capture request example 76 card force capture response example 77 card sale request example 77 card sale response example 78 card secu
Index Item attribute 29 DiscountAmt 30 Invoice attribute 28 Item attribute 29 DL Check attribute 34 DOB Check attribute 34 DTD see document type definition Duplicate TransactionResult element 40 DutyAmt Invoice attribute 28 E ECI BuyerAuthResult attribute 42 Electronic Commerce Indicator see ECI elements TransactionResult 39 EMail Invoice attribute 27 PayPal attribute 34 PayPalResult attribute 41 RecurringProfileResult attribute 44 RPData attribute 37 Email PayPalResult attribute 41 End RecurringProfileRe
Index ExtData example 95 ExtData, using 47 Extensible Markup Language 9 eXtensible Markup Language see XML PayPalResult attribute 41 Invoice attribute 27 RPData attribute 37 FeeAmount PayPalResult attribute 41 ForceCapture transaction attributes 20 Fraud Prevention Service transaction parameters 60 to ?? FraudPostprocessorResult TransactionResult attribute 39 FraudPreprocessorResult TransactionResult attribute 39 FreightAmt 30 Invoice attribute 28 Item attribute 30 IAVS result request example 88 IAVSResu
Index MechantServiceNum Invoice attribute 27 Memo Invoice attribute 28 merchant description example 92 Merchant ID 13 merchant service number example 92 MerchantCity MerchantInfo attribute 30 MerchantDescripton Invoice attribute 27 MerchantInfo Invoice attribute 28 MerchantState MerchantInfo attribute 30 MerchantStreet MerchantInfo attribute 30 MerchantZip MerchantInfo attribute 31 Message RecurringProfileResult attribute 43, 44 TransactionResult attribute 39 MICR Check attribute 34 modify recurring profil
Index PayerId PayPal attribute 34 PayerStatus PayPalResult attribute 41 Payflow Pro ACH transaction parameters 60 buyer authentication transaction parameters 58 credit card transaction parameters 48 to 58 credit card transaction response parameters 58 to 59 Fraud Prevention Service transaction parameters 60 to ?? level 3 credit card transaction parameters 52 to 58 retail credit card transaction parameters 48 to 52 Payflow Pro general parameters ?? to 47 PayflowColor PayPal attribute 35 Payment recurring pr
Index RecurringProfile transaction attribute 22 RecurringProfile attributes 22 RecurringProfile transaction attributes 22 RecurringProfileResult XMLPayResponse attribute 42 RecurringProfileResult attributes inquiry 44 non-inquiry 43 RecurringProfileResult element 43 RepeatSale element 101 ReqConfirmShippingPayerId PayPal attribute 35 RequestAuth 13 RecurringProfile transaction attribute 22 XMLPayRequest attribute 16 RequestAuth element 21 RESPMSG see also response message 145 response message 145 ResponseD
Index T TaxAmt 30 Invoice attribute 28 Item attribute 29 Tender add recurring profile attribute 23 modify recurring profile attribute 23 PayData attribute 25 Payment recurring profile attribute 24 reactivate recurring profile attribute 24 RecurringProfileResult attribute 45 Tender element 32 Term RecurringProfileResult attribute 44 RPData attribute 36 test and live URLs 8 Time Item attribute 30 Timeout RecurringProfile transaction attribute 22 XMLPayRequest attribute 16 Token PayPal attribute 34 PayPalResu
Index VerifyEnrollment request example 99 VerifyEnrollment response example 84, 99 VerifyEnrollment transaction attributes 20 VerifyEnrollment transactions 65 Void transaction 65 void transaction attributes 18 Z Zip Address attribute 31 ZipMatch AVSResult attribute 40 W W3C XML Signature 25, 42 Where to Go For More Information 7 X XID BuyerAuthResult attribute 42 XML 9 about 9 benefits of 9 well-formed 9, 131 XMLPay core structures 25 instruments 10 messaging 12 operations 11 processing models 11 syntax
Index 162 XMLPay Developer’s Guide