The term electronic commerce (“e-commerce”) commonly applies to the purchase and sale of goods or services that involves the transfer of orders and payments over networks including the Internet. It can cover a broad range of businesses from consumer-orientated web sites that sell items like electronics, books, and music to business-to-business transactions among corporations.
E-commerce lowers barriers so that buyers and sellers can complete transactions without regard to time zones or geographic distance. The volume of e-commerce transactions has grown rapidly and is anticipated to continue to expand as both consumers and businesses increasingly look to the Internet as a means to effectively facilitate purchases of goods and services conveniently, safely, and with minimal transaction costs.
The payment service providers that process transactions (and clear and settle accounts) have grown prodigiously in recent years in both number and variety. However, connecting a web site, for example, to a payment service provider can be complex and is typically beyond the expertise and technical resources of most merchants. As a result, merchants will often utilize a payment gateway for accepting electronic payments from credit and debit cards, electronic checks, and the like.
A payment gateway provides the interface to the infrastructure, which is generally complex, that is usually necessary to ensure fast, reliable, and secure automated processing of transactions. Payment gateways free merchants from dealing with the various details and levels of payment service providers, credit card networks, banks, and other financial institutions that underlie the processing of virtually all electronic transactions. Merchants can simply focus on selling goods and services and leave the details of the transaction to the payment gateway. For example, after receiving an online order, once the payment gateway verifies that a transaction has been successfully completed (so that payment will be received at the merchant's bank upon settlement) the merchant can ship the goods to the customer.
The underlying levels of infrastructure can vary considerably over time and distance in terms of market coverage, the functionalities and services that are supported, fees, payment service provider maturity and continuity, and a host of other factors. Switching among different payment service providers, networks and/or banks can thus be a common task for payment gateways in order to provide the level of service that merchants demand. As a result, payment gateways provide a significant benefit to both merchants and customers by making the complexity of payment transactions transparent. Such gateways are expected to facilitate the continued growth of e-commerce.
This Background is provided to introduce a brief context for the Summary and Detailed Description that follow. This Background is not intended to be an aid in determining the scope of the claimed subject matter nor be viewed as limiting the claimed subject matter to implementations that solve any or all of the disadvantages or problems presented above.
A payment gateway is implemented as a web service that utilizes a payment adapter plug-in model to support both synchronous payments (e.g., credit/debit card payments) and asynchronous payments (e.g., bank transfers) in which an interface to the payment gateway is provided to facilitate the development by a payment service provider or third party of a payment adapter that can plug into the gateway. The payment adapter enables the details of the payment service provider, credit card network, bank, etc. to be abstracted by mapping payment status from the provider to a standardized payment status that is utilized by the payment gateway. A payment gateway can then switch payment service providers by switching payment adapters.
In various illustrative examples, the payment gateway and adapter plug-in respectively utilize functionalities that may be implemented using software code that is operable on computing platforms such as web servers, including a payment gateway container and adapter interface. The payment gateway container includes a web service API (application programming interface) that exposes functions to the merchant and payment service provider, a file processor for sending and retrieving files from the payment adapter and for processing the files, and a database for storing transaction data and payment events. The adapter interface is implemented by the payment adapter to abstract payment provider-specific logic and expose various functions to the payment gateway and return payment events.
Advantageously, the payment adapter plug-in model substantially improves the speed at which payment solutions can be brought to market. By supporting a common interface to the payment gateway for all the payment adapters, the responsibility and cost for the payment adapter implementation can be shifted to the payment service provider who will have the most familiarity with the low level details of their particular payment solution. Payment adapters can also be developed by third parties and/or in parallel to quickly bring new payment methods to merchants and customers.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Like reference numerals indicate like elements in the drawings. Elements are not drawn to scale unless otherwise indicated.
It is noted that while a credit card transaction is utilized in the particular example described below, the e-commerce environment 100 can typically support a variety of conventional instrumentalities that are processed for electronic payment including debit cards, charge cards, ATM (automated teller machine) cards, electronic check payments, bank transfers, and the like. It is further noted that for sake of clarity of illustration only single instances of the customer 105, merchant 112, payment service provider 124, credit card network 131, and banks 137 and 142 are shown. However, the e-commerce environment 100 will typically support multiple customers and merchants, and a wide variety of payment service providers, financial networks, banks, and other financial institutions can be utilized to process the transactions and associated payments that occur in the environment.
The customer 105, merchant 112, and payment gateway 115 are coupled over a network such as a wide area network like the Internet 150 in this example. However, a variety of network types may also be utilized including private networks, telephone networks, etc. as may be required to meet the needs of a particular usage scenario. Connectivity to the Internet 150 facilitates the completion of a transaction between the customer 105 and merchant 112 in which the merchant provides goods or services in exchange for a payment from the customer. For example, the customer 105 may use a PC 158 that supports a web browser to connect to an online store or web site operated by the merchant 112.
Upon placement of an order, the merchant 112 will typically utilize automated order handling to transact a charge against the customer's credit card through the payment gateway 115. As indicated by the arrow 158, the payment gateway 115 will interact with the payment service provider 124, credit network 131, and bank 142 (collectively indicated by reference numeral 162) to process the payment. Confirmation of the payment from the payment gateway 115 will then allow the merchant 112 to ship the order to the customer 105.
As shown in
At step 4, the payment service provider 124 will submit the transaction to the credit card network 131. The credit card network 131 is a network of financial entities that interact for processing, clearing, and settlement of credit card transactions. For example, if the customer 105 is using a Visa® branded credit card, the transaction will be referred to Visa's network. Typically, there can often be multiple credit card networks that may be available and supported in the e-commerce environment 100.
At step 5 in the payment processing, the credit card network 131 will route the transaction to the customer's credit card issuing bank 142. The bank 142 will check the account and confirm that the customer 105 has sufficient available credit to cover the purchase.
At step 6 in
The settlement process comprises the credit card issuing bank 142 sending the appropriate funds to the credit card network 131 at step 10. Then, the credit card network 131 will deposit the funds into the merchant's account at the merchant's bank 137 at step 11. Unlike the authorization process which normally takes place in near real-time as transactions occur, settlement is typically a batch process. For example, the merchant 112 will perform a batch at the end of the sales day to confirm, settle, and clear all credit card transactions with the payment service provider 124 and prepare for the next day. After the batch is complete, the merchant's bank account can receive the funds from the customer's credit card account, generally within a couple of business days.
The foregoing description accompanying
The payment gateway 115 will typically hide the complexity of the underlying infrastructure from the merchant 112 as well as the details of the authorization and settlement processes. The payment gateway 115 can also act as a broker by allowing the merchant 112 to switch among payment service providers, or add new payment service providers (for example, to accept other card types or instruments). The merchant 112, for example, may wish to switch to a different payment service provider to minimize service fees or gain other service features, sell into a new or different geographic region, or gain additional flexibility when servicing customers.
Currently, a payment gateway provider would typically need to engage in some type of customized development in order to integrate a new payment service provider into its offerings to merchants. The provider, for example, could use its own development team or outsource the development to some third party. In both cases the engineering processes utilized often lead to lengthy development cycles, particularly as integration is repeated to bring new solutions to bear. These development cycles and their associated expense can lead to situations where migration of payment service providers and the development of new solutions become challenging and prevent or slow the integration of some payment service providers. As a result, payment gateway providers run the risk that their services can become unsatisfactory or uncompetitive in the e-commerce environment.
The present provider-driven payment adapter plug-in model addresses the problem of payment solution migration and integration by supporting an additional layer of abstraction in the e-commerce environment. As shown in
Although a single payment adapter 505 and a single set of lower level elements is shown for sake of clarity in
The payment adapter model further enables new business and technology development paradigms to be created. Here, for example, the model facilitates the ownership of the payment adapter development to be placed with the payment service provider, or a third party in some implementations. This placement can mean that the entity that is often the most knowledgeable of the particular lower level details is positioned to drive the development of the solution. A provider-driven payment adapter model can thus shorten development lead time while improving performance and reliability of the solution. Payment adapters can also be developed in parallel to provide further time savings.
The model utilizes several components including a payment gateway container and the payment adapter 505. In this example, the components are implemented using software code that is executable on computing platforms such as servers that may be operated by the payment gateway 115 and/or payment service provider 124, and/or a third party host.
As shown in
The payment adapter 505 is arranged to include an adapter interface API 707, as shown in
The ReportPaymentEvent function may be invoked by the payment gateway 115 to report payments to the merchant 112 from the payment service provider 124. These events represent asynchronous payments which are not transacted in near real time as with credit cards that could include payments such as bank transfers and those made in response to invoices.
In
When Charge, Authorize, and Reverse functions in table 900 are invoked, a call will be made to the payment service provider 124 to trigger the appropriate action. The payment service provider 124 will return a response event through the adapter interface API 707 to the payment adapter 505 when an action is successfully completed. The payment adapter 505 will apply payment provider-specific logic to map the returned response event into a standard payment event that is usable by the payment gateway 115.
At 3, the payment gateway 115 passes the charge to the payment adapter 505 which, in turn relays the charge to the payment service provider 124 at 4. At 5, the payment service provider 124 returns a response, ProviderChargeResponse, back to the payment adapter 505. At 6, the payment adapter 505 uses the method MapEvent( ) to map the response returned from the payment service provider 124 into a standardized payment event, PaymentEvent, that is returned to the payment gateway 115 at 7. The payment gateway 115 passes the event to merchant 112 at 8 to provide payment status, for example that the customer charge was authorized by the payment service provider 124.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.