PayPal Pro Integration Guide Italy Last updated: May 2014
PayPal Pro Integration Guide Document Number: 10116.en_US-201308 © 1999 - 2014 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 About This Guide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Intended Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Documentation Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents Chapter 5 Integrating Your Website Using API . . . . . . . . . . . . . 49 Button Hosting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Using the Button Manager API with PayPal Pro Checkout . . . . . . . . . . . . . . . . . 50 Using URL Returned in the Response (Recommended) . . . . . . . . . . . . . . . . 50 Using Form POST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Encrypting Buttons Using Public and Private Key . . . . . . .
Contents Appendix A Optional API Operations . . . . . . . . . . . . . . . . . . . 73 GetTransactionDetails API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 GetTransactionDetails Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 GetTransactionDetails Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 RefundTransaction API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents 6
P Preface About This Guide The PayPal Pro Integration Guide describes how to integrate with PayPal Pro. It includes information about: Features and benefits of PayPal Pro. Seller Protection. Moving from Website Payments Standard to PayPal Pro. Integrating your website with PayPal Pro. Customising your hosted payment page. Testing your integration in the Sandbox environment. Verifying the status and authenticity of the transactions before fulfilling the orders.
P Preface Revision History For more information go to https://developer.paypal.com/webapps/developer/docs/classic/products/website-payments-pro-hostedsolution/ Revision History Revision history for PayPal Pro Integration Guide. TABLE P.1 Revision History Date Description May 2014 Updated the secure payments URL shown in the examples throughout the guide. Removed the s-xclick command from all examples and also updated the example hosted button IDs to use HSSS instead of HSS.
Preface Documentation Feedback P TABLE P.1 Revision History Date Description May 2012 Added IE9 to list of browsers that support iFrame. Documentation Feedback Help us improve this guide by sending feedback to: documentationfeedback@paypal.
P 10 Preface Documentation Feedback
1 Getting Started with PayPal Pro Overview PayPal Pro is a payment platform allowing merchants to receive payments funded by card or PayPal account.This solution is hosted by PayPal. You do not have to capture or store credit card information on your website, thereby helping towards achieving PCI compliance. PayPal Pro is the choice for merchants who prefer a solution where all financial details are handled by PayPal.
Getting Started with PayPal Pro How PayPal Pro Works Supports Major Credit and Debit Cards - Supports Visa, MasterCard, Carta Aura (processed by Cetelem), Postepay (Visa), PayPal prepaid card (MasterCard). Mobile Support - PayPal Pro payment pages are optimized for both desktop and mobile browsers. For more information, refer to “The Mobile Optimized Payment Flow” on page 38.
Getting Started with PayPal Pro Seller Protection Seller Protection If PayPal is the only payment method on your website, transactions processed through PayPal Pro are eligible for PayPal’s Seller Protection. It covers payments done through the payment flow of your website for items sold domestically and internationally. These items can be purchased using a credit card or through the PayPal account.
Getting Started with PayPal Pro PayPal Express Checkout Transaction Processing Verifying the status of a transaction programatically. To check the initial status of a transaction, use any of the following API operations: – – – – DoExpressCheckoutPayment DoReferenceTransaction DoAuthorization DoReauthorization You can check the subsequent status of a transaction programatically by calling the GetTransactionDetails API operation. For more information, refer to “GetTransactionDetails API” on page 73.
Getting Started with PayPal Pro Introduction to Integrating with PayPal Pro placed on both the product page as well as the shopping cart page and is a great tool to increase checkout conversion. The following steps describe how PayPal Express Checkout works 1. After selecting products to purchase on your website, buyers click Pay with PayPal button. 2. They are redirected to the PayPal site where they log in using their PayPal login and password. 3.
Getting Started with PayPal Pro Introduction to Integrating with PayPal Pro 16
2 Integrating Your Website Using HTML This chapter provides instructions for a simple integration that enables you to begin processing transactions using PayPal Pro. N OTE : PayPal recommends that you implement the simple integration to familiarise yourself with PayPal Pro before implementing a more customised integration. As part of a simple integration, you get the default settings on your payment page.
Integrating Your Website Using HTML Simple PayPal Pro Integration The return URL is appended with a Transaction ID on the query string during the redirect back from the payment page to your website. This Transaction ID can be used to retrieve the status and verify the authenticity of the transaction. For detailed information on verifying the authenticity of the transaction before fulfilling the order, refer to Chapter 7, “Order Processing” on page 63.
Integrating Your Website Using HTML HTML Variables for Payment Page Settings HTML Variables for Payment Page Settings The table below lists the PayPal Pro HTML variables you can use to send in additional transaction information along with your web request. For a list of HTML variables that you can use to customise the look and feel of your payment page, refer to Table 3.2, “HTML Variables for Look and Feel of Payment Page” on page 40.
Integrating Your Website Using HTML HTML Variables for Payment Page Settings TABLE 2.1 HTML Variables for Settings of Payment Page (Continued) Variable Description Required cancel_return The browser will be redirected to this URL if the buyer clicks “Return to Merchant” link. Be sure to enter the complete URL, including http:// or https://. No cbt Sets the text for the “Return to Merchant” link on the PayPal confirmation page.
Integrating Your Website Using HTML HTML Variables for Payment Page Settings TABLE 2.1 HTML Variables for Settings of Payment Page (Continued) Variable Description Required return The URL to which the buyer’s browser is redirected to after completing the payment. Be sure to enter the complete URL, including http:// or https://. No shipping Shipping charged. This amount is added to subtotal for the total amount. No state State of the shipping address.
Integrating Your Website Using HTML HTML Variables for Payment Page Settings 22
3 Customising Your PayPal Payment Page You can customise the look and feel of the PayPal payment page in the following two ways: Modifying Your PayPal Account Settings. Using HTML Variables for Payment Page Look and Feel. N OTE : HTML variables will override the account settings you save on your profile page. This chapter also includes information on The Mobile Optimized Payment Flow. N OTE : Your payment page will appear to customers after you complete your HTML integration.
Customising Your PayPal Payment Page Modifying Your PayPal Account Settings Modifying Your PayPal Account Settings The settings and appearance of your PayPal payment page can be customised. To modify your payment page, login to your account on PayPal.com. On the Profile page, under the Website payment settings section, select: 24 Settings: to configure your payment page settings. Customisation: to specify your payment page layout and appearance.
Customising Your PayPal Payment Page Modifying Your PayPal Account Settings Settings FIGURE 3.1 Settings - Settings Overview page From the Settings overview page you can navigate to each of the following tabs to configure the settings of your PayPal payment page: Customer Information: Specify if you would like to display the customer’s billing or shipping information on your payment page and which fields are required or editable.
Customising Your PayPal Payment Page Modifying Your PayPal Account Settings FIGURE 3.2 Settings - Customer Information page From this list of customer information fields you can select which fields you would like to make editable or required on your payment page. Check the box next to each required field in the make these fields required section and next to the editable fields in the make these fields editable section. PayPal recommends that you display as few options as possible on the payment page.
Customising Your PayPal Payment Page Modifying Your PayPal Account Settings Instead of collecting the buyer’s shipping address again on the PayPal payment page, you can pass to PayPal the shipping address information which you already collected. PayPal will then display the pre-filled and editable shipping address fields on your payment page. For more information on passing values to the PayPal payment page go to: “HTML Variables for Payment Page Settings” on page 19.
Customising Your PayPal Payment Page Modifying Your PayPal Account Settings FIGURE 3.3 Settings - Payment Confirmation Page On my site’s confirmation page If you select this option, you are asking PayPal to redirect the buyer to your own payment confirmation page hosted on your website. You will be asked to provide the Return URL. The Return URL is the first page the customer sees on your site after leaving the PayPal pages.
Customising Your PayPal Payment Page Modifying Your PayPal Account Settings – (Optional) footer text – Customer service phone number. To update your customer service contact information go back to the Profile page. – Customer service email address. To update your customer service contact information go back to the Profile page. – Return URL The Return URL is the first page the customer sees on your site after leaving the PayPal pages.
Customising Your PayPal Payment Page Modifying Your PayPal Account Settings FIGURE 3.4 Settings - Email Receipt URLs and Data Transfer The URLs and Data Transfer settings help you manage how data is transfered between PayPal and your website (via GET or POST). You can also set your Cancel and Error URL values here. To modify the Return URL, go to the Payment Confirmation Page.
Customising Your PayPal Payment Page Modifying Your PayPal Account Settings FIGURE 3.5 Settings - URL and Data Transfer You can configure the following settings from the URLs and Data Transfer tab: Data transfer method Select the HTTP method you would like PayPal to use to send back payment data to your web server. This data transfer method applies to Return, Cancel and Error URLs.
Customising Your PayPal Payment Page Modifying Your PayPal Account Settings Cancel URL Enter the URL of the page on your website where the buyer should return to if the buyer chooses to cancel the payment. You can also set the Cancel URL dynamically at transaction time by passing a HTML variable to PayPal. This HTML variable will override the Cancel URL specified in your account settings. For more information, go to: “HTML Variables for Payment Page Settings” on page 19.
Customising Your PayPal Payment Page Modifying Your PayPal Account Settings Customisation The Customisation page allows you to customise the layout and appearance of your PayPal payment page. Here you can select one of the available page layouts. Depending on which layout you select, you can customise the header, the background color, the subheader text, the color of the pay button, the color of the button text, and the order summary section of your payment page.
Customising Your PayPal Payment Page Modifying Your PayPal Account Settings Layout A. Layout A is selected by default. Layout A consists of a header at the top of the page, a payment method section on the left and an order summary section on the right. You can only customise the header in this layout. You can specify the height of the header, show your company name in text or upload your company logo. You can also choose the horizontal alignment of the header.
Customising Your PayPal Payment Page Modifying Your PayPal Account Settings Layout B. Layout B has the most customisation options. Like Layout A, it consists of a header at the top of the page, a payment method section to the left and an order summary section to the right. In Layout B, you can also customise the header background color, the page background color or choose a page background image.
Customising Your PayPal Payment Page Modifying Your PayPal Account Settings Layout C. In Layout C, the order summary section appears towards the top of the page, just below the header and is followed by the Payment method section. Similar to Layout B, Layout C allows you to customise the header, the page background and the colors on the payment method section. However, you cannot customise the order summary section.
Customising Your PayPal Payment Page Modifying Your PayPal Account Settings MiniLayout. Unlike the other layouts, MiniLayout shows only the payment method section. There is no header or order summary section. MiniLayout can either be displayed in a standalone popup window or framed on your site in an iFrame. For more information on the iFrame integration, see “Integrating iFrame” on page 44. The size of the MiniLayout is fixed at 490 x 565 pixels, with extra space to allow for error messages.
Customising Your PayPal Payment Page The Mobile Optimized Payment Flow Layout Template Customisation Options Consider the following when you customise your template: Header (applicable to Layouts A, B, and C) - By default, the business name from your profile is shown in the header.
Customising Your PayPal Payment Page The Mobile Optimized Payment Flow information, see the template HTML variable in “HTML Variables for Payment Page Look and Feel” on page 40. TABLE 3.1 The template HTML Variable Value of template Variable Behavior in a Web Browser Behavior from a Mobile Device templateA Displays web layout. Displays mobile optimized flow. templateB Displays web layout. Displays mobile optimized flow. templateC Displays web layout. Displays mobile optimized flow.
Customising Your PayPal Payment Page HTML Variables for Payment Page Look and Feel FIGURE 3.12 Mobile Payment Flow for a Credit Card Payment HTML Variables for Payment Page Look and Feel The table below lists the HTML variables that you can use to customise the look and feel of your payment page. The HTML variables that you pass at transaction time will override your payment page settings in your PayPal account profile. For additional HTML variables, refer to: HTML Variables for Payment Page Settings.
Customising Your PayPal Payment Page HTML Variables for Payment Page Look and Feel TABLE 3.2 HTML Variables for Look and Feel of Payment Page Variable Description logoFontColor Color of the logo text. logoFontSize Font size of the logo text. logoImage Image displayed in the logo. The acceptable file extension formats are .gif, .jpg, .jpeg, or .png. The width of the image cannot be more than 940 pixels. logoImagePosition Position of the image in the logo.
Customising Your PayPal Payment Page HTML Variables for Payment Page Look and Feel TABLE 3.2 HTML Variables for Look and Feel of Payment Page Variable Description template The layout template that will be used for your payment page.
4 Integrating iFrame in Your Website PayPal offers a compact payment form that can be integrated in an iFrame on your website. Since this form is integrated on your website, the buyer never leaves your website, thereby reducing potential drop-offs. You can also maintain your checkout look and feel in the master frame that surrounds the compact payment form. The credit card fields are part of the compact payment form so you do not have to collect this information separately.
Integrating iFrame in Your Website Integrating iFrame Manually customize the color of the Pay Now button. IMPO RTANT: This compact payment form does not display the buyer's billing address, even if showBillingAddress=true is passed. However, for some merchants, it may be necessary to pass the billing address to successfully process the transactions.
Integrating iFrame in Your Website Integrating iFrame 2. Below is the iFrame code, add the hidden form that is populated with the appropriate PayPal Pro variables (including the total amount to be paid) and specify the variable TemplateD. For example,
Integrating iFrame in Your Website Integrating iFrame Using URL Returned in the Response In the URL identified in the response as EMAILLINK, add “src” for iFrame as per the example below to redirect the buyer and initiate the payment flow. The allowable size of the compact payment form is 570 pixels in width to 540 pixels in height.
Integrating iFrame in Your Website Integrating iFrame Example of API (Form POST) Integration The complete example as per the above steps is as follows: WEBSITECODE=
Integrating Your Website Using API Using the Button Manager API with PayPal Pro Checkout Using the Button Manager API with PayPal Pro Checkout To create a checkout button on your website, you call the BMCreateButton API operation. When the buyer clicks on the checkout button, PayPal initiates the PayPal Pro checkout flow. You must decode the response from the BMCreateButton API. For information about URL encoding, refer to the Name-Value Pair API Developer Guide.
Integrating Your Website Using API Using the Button Manager API with PayPal Pro Checkout Example of ENCRYPTED EMAILLINK=https://securepayments.paypal.com/webapps/HostedSoleSolutionApp/w ebflow/sparta/hostedSoleSolutionProcess?cmd=_hostedpayment&business=idc%2dautomation%2duk%2dpro%2dt1%40paypal%2ecom&tax=2&ship ping=3&business=K5HHZSMWMCN58&subtotal=11&handling=4&TIMESTAMP=2010-0915T00:39:06Z&CORRELATIONID=23d12ce1161f2&ACK=Success&VERSION=65.
Integrating Your Website Using API Using the Button Manager API with PayPal Pro Checkout Example for TOKEN WEBSITECODE=
Integrating Your Website Using API Using the Button Manager API with PayPal Pro Checkout L_BUTTONVAR23=notify_url=www.yourcompany.com L_BUTTONVAR24=custom=custom1 L_BUTTONVAR25=cancel_return=http://www.cancel_return.
Integrating Your Website Using API BMCreateButton API Operation BMCreateButton API Operation Use the BMCreateButton API operation to create PayPal Pro checkout button. BMCreateButton Request BMCreateButton Response BMCreateButton Errors BMCreateButton Request The request fields specify the characteristics of your button, which include associated menu items related to the button. You can specify up to 5 menu items, each of which can include up to 10 possible selections.
Integrating Your Website Using API BMCreateButton API Operation BMCreateButton Response The response contains an ID if the button is hosted on PayPal, and code for HTML in a website and for a link in email. BMCreateButton Response Fields Field Description WEBSITECODE HTML code for web pages EMAILLINK Code for URL for the PayPal Pro checkout flow HOSTEDBUTTONID ID of a PayPal Pro token BMCreateButton Errors Refer to the PayPal API error codes page to lookup an error code number or an error message.
6 Testing Your Integration in Sandbox The PayPal Sandbox is a self-contained environment within which you can prototype and test PayPal features. The PayPal Sandbox is an almost identical copy of the live PayPal website. Its purpose is to give developers a shielded environment for testing and integration purposes, and to help avoid problems that might occur while testing PayPal integration solutions on the live site.
Testing Your Integration in Sandbox Sandbox Account Credentials Upgrade to a Pro account: Click on the arrow next to your Sandbox business account email address, and then click on the Profile link that appears below the email address (highlighted below). This opens the Sandbox account details window. From the Profile tab of this window, select Upgrade to Pro. Then click the Enable button.
Testing Your Integration in Sandbox Sandbox Account Credentials Setup Personal Sandbox Accounts: From the developer site Applications > Sandbox accounts page you can create multiple business (merchant) and personal (buyer) accounts, which you can use in Sandbox test transactions. See the Sandbox User Guide for more information. You are ready to test your PayPal Pro integration on the Sandbox test site.
Testing Your Integration in Sandbox Testing Your Integration and Settings Testing Your Integration and Settings The following sections contain information for testing your integration and modifying the look and feel of your payment page in the Sandbox environment. Testing Your Integration Testing Your Settings Testing Your Integration To test your integration in the Sandbox environment, follow the steps specified in “Simple PayPal Pro Integration” on page 17.
Testing Your Integration in Sandbox Testing Your Integration and Settings Testing Your Settings To change the look and feel of your payment page, modify the settings of the Customisation and Settings pages in the Profile section of the Sandbox Test Site. For complete details, refer to “Modifying Your PayPal Account Settings” on page 24.
Testing Your Integration in Sandbox Testing Your Integration and Settings 62
7 Order Processing This chapter walks you through the end of end order processing experience. It includes information about verifying the status and authenticity of the order before fulfilling it.
Order Processing Verifying Transaction Status and Authenticity Validate Instant Payment Notification (IPN) IPN enables you to receive messages about transaction payments and activity from PayPal through asynchronous, server-to-server communication. This allows you to integrate your online payments with your order fulfillment process.
Order Processing Fulfilling Order Execute a GetTransactionDetails API Call Using GetTransactionDetails API, you can obtain information about a specific transaction. If you are integrated with PayPal APIs, you can call GetTransactionDetails with the Transaction ID that was returned in the web redirect to validate the authenticity of the order. For complete details, refer to “GetTransactionDetails API” on page 73.
Order Processing Fulfilling Order 66
8 Protecting Buttons by Using Encrypted Website Payments Using Encrypted Website Payments helps secure payment buttons that you generate or write manually. Encrypted Website Payments protects the HTML button code that contains pricing information by encrypting it. HTML button code that you protect by using Encrypted Website Payments cannot be altered by malicious third parties to create fraudulent payments. Encrypted Website Payments relies on standard public key encryption for protection.
Protecting Buttons by Using Encrypted Website Payments Public Key Encryption Used by Encrypted Website Payments Public Key Encryption Used by Encrypted Website Payments Encrypted Website Payments uses public key encryption, or asymmetric cryptography, which provides security and convenience by allowing senders and receivers of encrypted communication to exchange public keys to unlock each others messages.
Protecting Buttons by Using Encrypted Website Payments Setting Up Certificates Before Using Encrypted Website Payments Generating Your Private Key Using OpenSSL Using the openssl program, enter the following command to generate your private key. The command generates a 1024-bit RSA private key that is stored in the file my-prvkey.pem: openssl genrsa -out my-prvkey.pem 1024 Generating Your Public Certificate Using OpenSSL The public certificate must be in PEM format.
Protecting Buttons by Using Encrypted Website Payments Setting Up Certificates Before Using Encrypted Website Payments Downloading the PayPal Public Certificate from the PayPal Website To download the PayPal public certificate: 1. Log in to your PayPal account at https://www.paypal.it 2. Click the Profile subtab. 3. In the Seller Preferences column, click the Encrypted Payment Settings link. 4. Scroll down the page to the PayPal Public Certificate section. 5.
Protecting Buttons by Using Encrypted Website Payments Setting Up Certificates Before Using Encrypted Website Payments Using Encrypted Website Payments to Protect Your Payment Buttons Encrypted Website Payments includes Java and Microsoft Windows software to protect the payment buttons that you generate or write manually. Download the software from the following location after logging in to PayPal: https://www.paypal.
Protecting Buttons by Using Encrypted Website Payments Setting Up Certificates Before Using Encrypted Website Payments where the argument is: – CertFile: The pathname to your own public certificate – PKCS12File: The pathname to the PKCS12-format of your own public certificate – PPCertFile: The pathname to a copy of the PayPal public certificate – Password: The passphrase to the PKCS12-format of your own public certificate – InputFile: The pathname to file containing the non-encrypted Website Payments HTML
A Optional API Operations Using the Transaction ID, a number of PayPal API operations are available. The most commonly used for PayPal Pro are: GetTransactionDetails API RefundTransaction API DoCapture API GetTransactionDetails API Obtain information about a specific transaction. GetTransactionDetails Request GetTransactionDetails Response GetTransactionDetails Request TABLE A.1 GetTransactionDetails Request Fields Field Description METHOD Must be GetTransactionDetails.
Optional API Operations GetTransactionDetails API GetTransactionDetails Response N OTE : All fields defined in the formal structure of GetTransactionDetails Response are not necessarily returned. Data is returned in a response only if PayPal has recorded data that corresponds to the field.
Optional API Operations GetTransactionDetails API Payer Information Fields TABLE A.3 Payer Information Fields Field Description EMAIL Email address of payer. Character length and limitations - 127 single-byte characters PAYERID Unique PayPal customer account identification number. Character length and limitations - 13 single-byte alphanumeric characters. PAYERSTATUS Status of payer. Valid values are: verified unverified Character length and limitations - 10 single-byte alphabetic characters.
Optional API Operations GetTransactionDetails API TABLE A.4 Payer Name Fields Field Description SUFFIX Payer’s suffix. Character length and limitations - 12single-byte alphanumeric characters. Address Fields TABLE A.5 76 Address Fields Field Description ADDRESSOWNER eBay company that maintains this address. Valid values are: eBay PayPal ADDRESSSTATUS Status of street address on file with PayPal.
Optional API Operations GetTransactionDetails API Payment Information Fields TABLE A.6 Payment Information Fields Field Description TRANSACTIONID Unique transaction ID of the payment. Character length and limitations: 17 single-byte characters PARENTTRANSACTIONID Parent or related transaction identification number. This field is populated for the following transaction types: Reversal - Capture of an authorised transaction. Reversal - Reauthorisation of a transaction.
Optional API Operations GetTransactionDetails API TABLE A.6 78 Payment Information Fields Field Description FEEAMT PayPal fee amount charged for the transaction Character length and limitations - Does not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator is a period (.), and the optional thousands separator is a comma (,). Equivalent to nine characters maximum for USD. SETTLEAMT Amount deposited in your PayPal account after a currency conversion.
Optional API Operations GetTransactionDetails API TABLE A.6 Payment Information Fields Field Description PAYMENTSTATUS Status of the payment. The status of the payment: None - No status Canceled-Reversal - A reversal has been canceled; for example, when you win a dispute and the funds for the reversal have been returned to you. Completed - The payment has been completed, and the funds have been added successfully to your account balance. Denied - You denied the payment.
Optional API Operations GetTransactionDetails API TABLE A.6 Payment Information Fields Field Description PENDINGREASON N OTE : PendingReason is returned in the response only if PaymentStatus is Pending. The reason the payment is pending: none - No pending reason. address - The payment is pending because your customer did not include a confirmed shipping address and your Payment Receiving Preferences is set such that you want to manually accept or deny each of these payments.
Optional API Operations GetTransactionDetails API TABLE A.6 Payment Information Fields Field Description PROTECTIONELIGIBILITY Since version 64.
Optional API Operations GetTransactionDetails API Payment Item Fields TABLE A.8 Payment Item Fields Field Description L_DESCn Description of the nth item. These parameters must be ordered sequentially beginning with 0 (for example L_DESC0, L_DESC1). L_NUMBERn Item number set by you. If this was a shopping cart transaction, PayPal appends the number of the item to the HTML item_number variable. For example, item_number1, item_number2, and so forth.
Optional API Operations RefundTransaction API Subscription Term Fields TABLE A.10 Subscription Terms Fields Field Description AMT The amount subscriber is to be charged in one payment. Character length and limitations: no limit PERIOD The period of time that the subscriber will be charged. Character length and limitations: no limit RefundTransaction API Issue a refund to the PayPal account holder associated with a transaction.
Optional API Operations DoCapture API RefundTransaction Response TABLE A.12 RefundTransaction Response Fields Field Description REFUNDTRANSACTIONID Unique transaction ID of the refund. Character length and limitations - 17 single-byte alphanumeric characters. FEEREFUNDAMT Transaction fee refunded to original recipient of payment. GROSSREFUNDAMT Amount of money refunded to original payer. NETREFUNDAMT Amount subtracted from PayPal balance of original recipient of payment to make this refund.
Optional API Operations DoCapture API TABLE A.13 DoCapture Request Fields Field Description COMPLETETYPE (Required) The value Complete indicates that this the last capture you intend to make. The value NotComplete indicates that you intend to make additional captures. N OTE : If Complete, any remaining amount of the original authorised transaction is automatically voided and all remaining open authorisations are voided. Character length and limitations - 12 single-byte alphanumeric characters.
Optional API Operations DoCapture API TABLE A.13 DoCapture Request Fields 86 Field Description SOFTDESCRIPTOR (Optional) The soft descriptor is a per transaction description of the payment that is passed to the consumer’s credit card statement.
Optional API Operations DoCapture API DoCapture Response DoCapture Response Fields PayerInfo Type Fields Ship To Address Fields Payer Name Fields N OTE : If you use version 56.0 or later of the DoCapture API,only the authorisation ID, transaction ID, transaction type, paymentdate, gross amount and payment status are guaranteed to be returned.
Optional API Operations DoCapture API TABLE A.15 PayerInfo Type Fields Field Description BUSINESS Payer’s business name. Character length and limitations - 127 single-byte characters. Ship To Address Fields TABLE A.16 Ship To Address Fields 88 Field Description ADDRESSSTATUS Status of street address on file with PayPal. Valid values are: none Confirmed Unconfirmed SHIPTONAME Person’s name associated with this address. Character length and limitations - 32 single-byte characters.
Optional API Operations DoCapture API Payer Name Fields TABLE A.17 Payer Name Fields Field Description SALUTATION Payer’s salutation. Character length and limitations - 20 single-byte characters. FIRSTNAME Payer’s first name. Character length and limitations - 25 single-byte characters. MIDDLENAME Payer’s middle name. Character length and limitations - 25 single-byte characters. LASTNAME Payer’s last name Character length and limitations - 25 single-byte characters.
Optional API Operations DoCapture API 90
B Moving from Website Payments Standard to PayPal Pro If you are moving from Website Payment Standard to PayPal Pro, you must make the following changes: 1. In the FORM tag, change the cmd value in the action attribute from:
C Error Messages Refer to the PayPal API error codes page to lookup an error code number or an error message.
Error Messages 96
D Currency Codes The table below lists all the currencies supported by PayPal. TABLE D.1 Currency Codes Currency Code Country Name AUD Australian Dollar CAD Canadian Dollar CHF Swiss Franc CZK Czech Koruna DKK Danish Krone EUR Euro GBP British Pound Sterling HKD Hong Kong Dollar HUF Hungarian Forint JPY Japanese Yen NOK Norwegian Krone NZD New Zealand Dollar PLN Polish Zloty SEK Swedish Krona SGD Singapore Dollar USD U.S.
Currency Codes 98
Index A address_override 19 address1 19 address2 19 API integration 49 appearance 33 B background 38 billing_address1 19 billing_address2 19 billing_city 19 billing_country 19 billing_first_name 19 billing_last_name 19 billing_state 19 billing_zip 19 BMCreateButton API 49 BMCreateButton API Operation 55 BMCreateButton Errors 56 BMCreateButton Request 55 BMCreateButton Request Fields 55 BMCreateButton Response 56 BMCreateButton Response Fields 56 bn 19 bodyBgColor 40 bodyBgImg 40 business 19 button hosting
Index H O handling 20 header 38 headerBgColor 40 headerHeight 40 HOSTED 49 HOSTEDBUTTONID 56 HTML integration 17 HTTP variables 19 optional API operations 73 order processing 63 order summary column 38 orderSummaryBgColor 41 orderSummaryBgImage 41 OutputFile 72 overview 11 P I iFrames 43 API integration 46 manual integration 44 InputFile 72 Instant Payment Notification (IPN) 64 integration API 49 HTML 17 invoice 20 L L_BUTTONVAR 55 last_name 20 lc 20 logoFont 40 logoFontColor 41 logoFontSize 41 logoIm
Index showHostedThankyouPage 41 showShippingAddress 41 simple integration 17 state 21 subheaderText 41 subtotal 21 T tax 21 template 42 testing your integration 57 title 38 TOKEN 49 token buttons 49 transaction status 63 W WEBSITECODE 47, 51, 56 Z zip 21 101
Index 102