The present invention relates to a system and a method for checkout and customer data capture in commerce applications, and more particularly to checkout and customer data capture in commerce applications that deliver purchase transaction checkout functionalities to consumer computing devices.
Traditional e-commerce payment processing applications and application programming interfaces (APIs) rely on merchants to take care of the shopping cart, checkout, and customer fulfillment data capture functions on their own commerce websites or applications. The merchants handle all of the level 3 credit card processing parameters including product information, shipping information, and tax calculations, among others, and then pass the payment off to a payment-provider, such as Authorize.Net or PayPal to handle the payments on their behalf. This means that the payment-providers only require certain parameters in their APIs, such as merchant information, amount to be paid, and some description of the purchase, as they only handle payments. Therefore the payment-provider's API does not request other information that may otherwise be important in a mobile environment for efficient mobile checkout and that may be useful to the merchant.
In the mobile environment, it is critical to reduce the number of steps and the amount of information that a user has to enter to complete a transaction. Further in the mobile environment, additional data sent to the payment-providers can be used to help reduce the risk of fraud for the merchant. Furthermore, consumer data that are captured across different merchants may also allow individual merchants to have more rich data for their customers to not only manage risk, but also provide offers to these customers in the future.
Payment-providers, such as PayPal or Cybersource, extend their current e-Commerce checkout methods to mobile computing environments by providing a library of functions that make it easier for mobile application developers to incorporate the same e-Commerce checkout methods into their mobile applications. However, the checkout methods still capture only payment related information and process the payment.
Accordingly, there is a need for a more efficient checkout process designed for mobile and other computing devices that reduces the number of steps and information that a consumer has to enter to complete a transaction. Furthermore, there is a need for a checkout process designed for the mobile computing environment that captures parameters that reduce the risk of fraud for the merchants, and also allows merchants to have richer data about their customers (including demographics, buying patterns, and loyalty), in order to provide offers to their customers in the future.
The present invention provides a checkout API and a checkout application that captures, stores, and presents certain crucial data that are not captured, stored, or presented by prior art payment systems. The captured data are used for product fulfillment, CRM, and fraud prevention management. The capture of these certain data results in shortened checkout process for consumers, enhanced security capabilities, and more valuable consumer data provided to merchants. The invention achieves a more efficient checkout and customer fulfillment process designed for commerce in the mobile environment or commerce on other computing devices by capturing more functionalities and data for the checkout process and providing more data about a given consumer than otherwise would be achieved by each merchant individually.
In general, in one aspect the invention features a commerce checkout and customer data capture system for merchants to deliver commerce functionalities to consumer computing devices for completing purchase and payment transactions. The system includes a commerce application and a commerce gateway server comprising a checkout application, and a secure payment application. The commerce gateway server communicates with a consumer computing device via a network connection. A plurality of merchants are configured to provide product offers to the consumer computing device via the commerce application, to process purchase transactions with the checkout application, and to receive payments via the secure payment application. The checkout application provides responses to purchase transaction requests including “CreateCheckout” for setting up and capturing purchase transaction data and consumer relevant data, “Checkout” for calling a checkout transaction user interface, and “GetCheckoutStatus” for checking status of a checkout transaction. The checkout application further captures additional data used to provide fulfillment capabilities, tax calculation, risk management, fraud control, and targeted marketing analytics.
Implementations of this aspect of the invention may include one or more of the following features. The commerce application may be a native application running on the consumer computing device, a browser based application running on the consumer computing device, or a browser based application running on a merchant server or the commerce gateway server. The secure payment application includes e-wallets for consumers. These e-wallets store payment instrument data, fulfillment data, demographics, loyalty information, and transaction history for the consumers. The checkout application includes a means for prefilling checkout forms with the e-wallet data. The consumer fulfillment data may be shipping address, billing address, email address, phone number, or loyalty relevant information. The commerce gateway server communicates with the consumer computing device via a checkout application programming interface (API) and the checkout API may be a web service or a library object. The “CreateCheckout” request sets up and collects purchase transaction data comprising level 3 credit card processing data. The “CreateCheckout” request sets up and collects purchase transaction data including transaction amount, date, tax amount, customer identifier, merchant identifier, merchant security token, merchant postal code, tax identification, merchant state code, ship from postal code, destination postal code, invoice number, order number, item product identifier, item description, item commodity code, item quantity, item unit of measure, freight amount, and duty amount. The “CreateCheckout” request sets up and collects purchase transaction data comprising consumer computing device location. The consumer computing device location is determined via a global positioning system (GPS), an Internet Protocol (IP) address, or triangulation. The “CreateCheckout” request sets up and collects purchase transaction data comprising at least one of consumer computing device type, phone number, device identifier, international mobile equipment identity (IMEI), network service subscriber identifier, or international mobile subscriber identity (IMSI). The “CreateCheckout” request sets up and collects purchase transaction data including data for calculating tax based on address postal code. The “CreateCheckout” request sets up and collects purchase transaction data comprising consumer risk level data. The checkout application sends the consumer risk level data to the merchants. The purchase transaction data comprise merchant and application identification data. The merchant identification data comprise a merchant identifier and a merchant security token and the application identification data comprise an application identifier and an application security token. The purchase transaction data comprise transaction flow control parameters and the transaction flow control parameters comprise one of merchant CallbackUrl, merchant ReturnUrl, or merchant CancelUrl. The checkout application responds to the “CreateCheckout” request by sending a transaction identifier and the transaction identifier is used in all subsequent checkout operations. The “Checkout” request directs the checkout application to carry out a purchase transaction identified by a specific transaction identifier. The “GetCheckoutStatus” request directs the checkout application to provide checkout status information for a purchase transaction identified by a specific transaction identifier, to display the checkout status information in the consumer computing device, and to provide consumer risk level data and fulfillment data back to the merchant. The consumer computing device may be a mobile phone, personal digital assistant (PDA), payment module, portable computer, personal computer, set-top box, netbook, tablets, iPad, electronic reader, or an Internet appliance.
In general, in another aspect, the invention features a method for merchants to deliver commerce functionalities to consumer computing devices for completing purchase and payment transactions. The method includes providing a commerce application and then providing a commerce gateway server comprising a checkout application and a secure payment application. The commerce gateway server communicates with a consumer computing device via a network connection. A plurality of merchants provide product offers to the consumer computing device via the commerce application, process purchase transactions with the checkout application, and receive payments via the secure payment application. The checkout application provides responses to purchase transaction requests comprising “CreateCheckout” for setting up and capturing purchase transaction data, and consumer related data, “Checkout” for calling a checkout transaction user interface, and “GetCheckoutStatus” for checking status of a checkout transaction. The checkout application further captures additional data used to provide fulfillment capabilities, tax calculation, risk management, fraud control, and targeted marketing analytics.
Among the advantages of this invention may be one or more of the following. The invention includes a checkout API that captures from the merchant application or commerce site additional information, such as product information, product parameters (size, color, quantity, among others), shipping costs, whether tax calculations is required, and shipping information, among others. The checkout API allows less data entry on the consumer side, especially if the consumer has stored their payment information, email, billing & shipping address inside an electronic wallet, so that tax can be calculated based on the stored shipping information. Further, the checkout API captures the location information of the user, risk information that the merchant may see based on their application and that can help reduce fraud and add value to the merchant. Further, the checkout API passes information back to the merchant that a standard payment checkout API may not pass such as customer shipping data, email data, and potential risk assessment data for a consumer/or wallet users that may be fraudulent such that they can take action on the merchant side to disable a subscription to a service or usage of their products and services. There may be data collected about a particular customer or wallet user that one single merchant cannot detect, but are detected through analytics with the data captured via the checkout API.
Referring to
Mobile devices 132, 134, 135 may be any type or format of a mobile device utilizing any type of operating system. Referring to
Commerce gateway server 110 is a gateway server, which provides functionality and support of the commerce application 120. In some embodiments, commerce gateway server 110 also delivers product offers to remote terminals 132, 134, 135 and manages these product offers, including the association of the offer with a given product offer ID with a merchant's ID (MID), and to which consumer/user or device (device ID) such an offer goes to. This association of the product ID with the merchant ID and the device ID is stored in Table 1171, shown in
Referring back to
Next, the “Create Checkout” function 263 initiates a connection to the commerce gateway server 110 and starts the checkout application 195. Checkout application 195 issues a transaction token (or transaction ID) 264, which is then transmitted back to the calling application 152. In the next step 254, the “Checkout” request 267 directs the checkout application 195 to the checkout page 380, shown in
https://{root}/Roamprocess/CreateCheckout
https://{root}/Roamprocess/GetCheckoutStatus
https://{root}/Roamprocess/Checkout
The transaction parameters are entered in a name-value pair format. In other examples, transaction parameters are entered via SOAP class object, WCF data contract, XML, JSON, or other formats.
The CreateCheckout function 263 is used to set up all the parameters about a transaction in the checkout process. In one example, the transaction parameters include all level 3 credit card processing parameters including transaction amount, date, tax amount, customer code, merchant postal code, tax identification, merchant minority code, merchant state code, ship from postal code, destination postal code, invoice number, order number, item product code, item description, item commodity code, item quantity, item unit of measure, item extended amount, freight amount, and duty amount, among others. A transaction token 264 is returned and this token is used to reference this transaction in all subsequent operations. A checkout can contain multiple products as long as the payment is made by a single customer to a single merchant. Also, the products must be shipped to the same shipping address.
A list of parameters is specified by using an identification index. The index starts from 0 and increases by 1 for the next item. The index does not skip over values, because items after the skipped values are ignored. A list can be nested and then a second index is provided. For example, to specify a product name, use Product—0_Name for the first item and Product—1_Name for the next. To specify a product attribute name of Product—0, use Product—0_Attribute—0_Name. Tax is also calculated by the checkout application 195 based on the shipping address.
The GetCheckoutStatus 269 function is used to check the status of a transaction of the checkout. All returned parameters are optional depending on the availability of that piece of information. The same set of parameters is also posted to the CallBackUrl, if specified in the CreateCheckout request.
The presence of all response parameters are conditional depending on the transaction result unless otherwise stated.
The Checkout request 267 is used to carry out the actual payment. The theme settings of this page including logo, colors of elements, etc, can be configured via the application profile tied to the AppID. The merchant application 152 redirects the browser control to this page by either GET or POST.
The result of the transaction are posted back to the CallbackUrl as provided in CreateCheckout request 263. After the transaction is completed, successfully or not, the page is redirected to ReturnUrl with the following response parameters
At the ReturnUrl page, the merchant displays the transaction result to the customer based on the status from the callback or result from a GetCheckoutStatus call.
Several embodiments of the present invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other embodiments are within the scope of the following claims.
This application is a continuation in part of U.S. application Ser. No. 12/850,685 filed on Aug. 5, 2010 and entitled SYSTEM AND METHOD FOR A COMMERCE WINDOW APPLICATION FOR COMPUTING DEVICES which is commonly assigned and the contents of which are expressly incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 12850685 | Aug 2010 | US |
Child | 13080047 | US |