Amazon Pay

Overview

Amazon Pay is a payment method that allows customers to receive payouts via e-wallets. Payouts are performed by using Gate and Dashboard.

General information

Payment method type digital wallet payments
Payment instruments digital wallets
Countries and regions IN
Payment currencies INR, USD
Currency conversion On ecommpay side
Purchases
Payouts +
Stored credentials payments
Full refunds
Partial refunds
Chargebacks
Notes
Onboarding and access fee Refer to your ecommpay key account manager

Interaction diagram

Payment processing by using the Amazon Pay payment method requires merchant's web service, one of ecommpay interfaces, and the ecommpay payment platform, as well as Amazon Pay service which is supported interactions with banks.



Operations support

  Interfaces Amounts, INR
Payment Page CMS Plug-ins Gate Dashboard minimum maximum
Payouts + + 1.00 400,000.00

Processing scenarios

To initiate a payout by using Amazon Pay service, you need to receive a request from a customer via your web service and then notify the customer about funds crediting.

Figure: Payout by using Gate procedure



The sections that follow provide detailed information about what you need to perform payments and how you can analyse the information on payments and operations.

Payout by using Gate

General information

To perform a payout through the Amazon Pay method, merchant's web service sends a request with all the required parameters and signature to ecommpay URL, and receives a callback with the payment result. The full sequence of the payout process is provided below.



Figure: Payout by using Gate

  1. A customer orders a payout through the Amazon Pay system.
  2. Merchant's web service sends the request for the payout processing by using Gate to the appropriate ecommpay URL.
  3. Gate redirects the request to the ecommpay payment platform.
  4. The payment platform performs all the necessary checks and processes the request.
  5. The reply with the request processing results is sent to the merchant's web service. For more information, see Response format.
  6. The payment platform redirects the payout request to the provider service.
  7. The payout is processed on the provider side.
  8. Provider sends the result notification to the payment platform.
  9. The payment platform sends a callback with the payment result to the web service.
  10. The customer receives the notification about the payout result from the web service.

The sections that follow discuss in more details the request format and the Gate parameters to use in the Amazon Pay payment method and provide the information on the format of callbacks with payout results.

Request format

There are several things you must consider when using payout requests in the Amazon Pay method:
  1. You perform payouts by sending the request by using POST (HTTP) method to /v2/payment/wallet/amazonpay/payout. This is an e-wallets payment request group: /v2/payment/wallet/{payment_method}/payout.
  2. The following objects and parameters must be specified in any request:
    • Object general—general request identification information:
      • project_id—the project ID obtained from ecommpay
      • payment_id—payment ID unique within the project
      • signature—signature created after you specify all the required parameters. For more information about signature generation, see Signature generation and verification.
    • Object payment—payout information:
      • amount—payout amount
      • currency—payout currency in the ISO-4217 alpha-3 format.
    • Object customer—customer information:
      • id—customer identifier on the web service side
      • ip_address—IP address
      • first_name—first name
      • last_name—last name
      • email—email address
      • address—postal address
    • Object account—recipient e-wallet account information:
      • number—recipient phone number linked to the e-wallet account
  3. If required, you can also add any other additional parameters Gate supports.

Thus, a correct payment request in the Amazon Pay method must include project and payment IDs, signature, account and customer information, currency and amount of the payout, as shown in the following example:

Figure: Example of a payout request

{
  "general": {
    "project_id": 818,
    "payment_id": "ORDER_I1558600157",
    "signature": "+K6jllym+PtObocZ1yS...xfWJTXdESkijfsBeR6bKROUsslA=="
  },
  "payment": {
    "amount": 150000,
    "currency": "INR"
  },
  "customer": {
    "id": "24900",
    "ip_address": "1.2.3.4",
    "first_name": "Ada",
    "last_name": "Lovelace",
    "email": "Lovelace@mail.com",
    "address": "Delhi, Main st., 20"
  },
  "account": {
    "number": "5588994446666"
  }
}

Callback format

The Amazon Pay method uses the standard format for callbacks to deliver payout results. For more information, see Callbacks.

The following is the example of a callback with an information about successful 100.00 INR payout made in the 197 project.

Figure: Example of a successful payout callback

{
        "project_id": 197,
        "payment": {
            "id": "Payout-test-2-2209",
            "type": "payout",
            "status": "success",
            "date": "2020-09-22T08:50:56+0000",
            "method": "amazonpay",
            "sum": {
                "amount": 10000,
                "currency": "INR"
            },
            "description": ""
        },
        "account": {
            "number": "9811181996"
        },
        "customer": {
            "id": "1",
            "phone": "9811181996"
        },
        "operation": {
            "id": 77184010013601,
            "type": "payout",
            "status": "success",
            "date": "2020-09-22T08:50:56+0000",
            "created_date": "2020-09-22T08:50:51+0000",
            "request_id": "0584a6d51e85-00077185",
            "sum_initial": {
                "amount": 10000,
                "currency": "INR"
            },
            "sum_converted": {
                "amount": 10000,
                "currency": "INR"
            },
            "code": "0",
            "message": "Success",
            "provider": {
                "id": 1811,
                "payment_id": "161818558",
                "auth_code": "",
                "date": "2020-09-22T08:50:55+0000"
            }
        },
        "signature": "Rgj9JJvd+qF3DeORTLYTv9j77kUKJCGX+ke/PssMBtYNomcgE/lGPKDEqXzxcGyxg/MOk+l62uanWEo1T2Me0w=="
    }

The following is the example of a callback for a declined payout.

Figure: Example of a declined payout callback

{
         "project_id": 197,
        "payment": {
            "id": "Payout-test-1-2209",
            "type": "payout",
            "status": "decline",
            "date": "2020-09-22T07:52:30+0000",
            "method": "amazonpay",
            "sum": {
                "amount": 100,
                "currency": "INR"
            },
            "description": ""
        },
        "account": {
            "number": "9811181996"
        },
        "customer": {
            "id": "1",
            "phone": "9811181996"
        },
        "operation": {
            "id": 72455010013601,
            "type": "payout",
            "status": "decline",
            "date": "2020-09-22T07:52:30+0000",
            "created_date": "2020-09-22T07:52:27+0000",
            "request_id": "cbac006fd0a891571e020690f6cef1c39002d916-a52fb6bcda08b86a4fdb6271feb7d364b58a98e7-00072456",
            "sum_initial": {
                "amount": 100,
                "currency": "INR"
            },
            "sum_converted": {
                "amount": 100,
                "currency": "INR"
            },
            "code": "20000",
            "message": "General decline",
            "provider": {
                "id": 1811,
                "payment_id": "",
                "auth_code": ""
            },
        "signature": "UvYafKv8g7aXBIqVVEWAl7KCF8y...Wt8F+7erV2ugNHq6Wv3lJE8Q=="
    }

Related topics

The following topics might be useful when implementing payments through Gate:

Payouts by using Dashboard

When working with Dashboard, you can process single and mass payouts by using the Amazon Pay method.

  • To process a single payout, open the payout form, specify all required parameters (including the payment method), send a request and verify that the payout has been processed.
  • To process a mass payout, prepare and upload a file with information about all target payouts, send a batch request, and verify that the payouts have been processed.

    Use a CSV file structured according to the requirements presented in the Mass payments data section. The payout parameters must comply with the requirements (you do not have to generate a signature because it is specified by Dashboard).

More information about processing payouts by using Dashboard is presented in a separate section.

Analysis of payments results

As with other payment methods ecommpay offers, when using the Amazon Pay method, you have several options to analyse the information about payments and operations performed by using the method—alone or in conjunction with other methods.

You can load and analyse all the necessary information in Dashboard, for instance you can use the analytic panels on the Analytics tab to this end.

Also, you can export the information for further analysis by using third party analytical tools. The following options are available:

  • Dashboard allows you to download reports in CSV and XLS formats—by using the tools on the Payments tab. You can perform export as a one-time download to your local computer or have payment data regularly exported and delivered to email addresses you specify.
  • Data API allows you to have payment information exported in JSON format and delivered to a URL you specify. The payment information is exported by using the /operations/get queries.

If you have any further questions regarding payment data analysis, contact ecommpay technical support.