Configuring CCAvenue

Learn how to configure CCAvenue for DigitalRiver.js with Elements.

CCAvenue is an auto-settle payment method offering locale India payment options such as Credit Card, Wallet, Net Banking, and UPI.

Configuring CCAvenue for DigitalRiver.js

Create a method for your app or website in four easy steps:

Step 1: Build a CCAvenue Source Request and Details object

Build the CCAvenue Source Request and Details objects.

CCAvenue Source Request object

The CCAvenue Source Request object requires the following fields.

Field
Value

type

ccavenue

sessionId

The payment session identifier

owner

CCAvenue Source Details object

The CCAvenue Source Details object requires the following fields.

{
    "returnUrl": "https://example.com/return",
    "cancelUrl": "https://example.com/cancel"
}

The CCAvenue Source Details object requires the following field.

Field
Required/Optional
Description

returnUrl

Required

Where you will redirect your customer after the customer authorizes within the CCAvenue experience.

cancelUrl

Required

Where you will redirect your customer after the customer cancels within the CCAvenue experience.

Step 2: Create a CCAvenue source using DigitalRiver.js

Use the DigitalRiver.js library to create and mount elements to the HTML container.

let ccavenueSourceData = {
    "type": "ccavenue",
    "sessionId": "3c9473b0-630d-4f20-af61-63d3aa8acb35",
    "owner": {
        "firstName": "John",
        "lastName": "Doe",
        "email": "[email protected]",
        "phoneNumber": "13063725095",
        "address":{
            "line1":"34th Floor, Promod Industrial Estate, Western X-highway, B/h Kohinoor Ind Est, Goregaon (e)",
            "line2":"",
            "city":"Mumbai",
            "state":"Maharashtra",
            "postalCode":"400063",
            "country":"IN"
        }
    },
    "ccavenue": {
        "returnUrl": "https://example.com/return",
        "cancelUrl": "https://example.com/cancel"
    }
}
 
digitalriver.createSource(ccavenueSourceData).then(function(result) {
    if (result.error) {
        //handle errors as something went wrong
    } else {
        var source = result.source;
     
        //do something with the created source
    }
});

CCAvenue source example

{
    "clientId": "gc",
    "channelId": "drdod15",
    "liveMode": false,
    "id": "5ce08114-143b-4bf6-ae0e-6fc501ee0c24",
    "clientSecret": "5ce08114-143b-4bf6-ae0e-6fc501ee0c24_a468b08e-2c47-4531-82af-d48d80ff6dcc",
    "type": "ccavenue",
    "reusable": false,
    "owner": {
        "firstName": "John",
        "lastName": "Doe",
        "email": "[email protected]",
        "phoneNumber": "13063725095",
        "address":{
            "line1":"34th Floor, Promod Industrial Estate, Western X-highway, B/h Kohinoor Ind Est, Goregaon (e)",
            "line2":"",
            "city":"Mumbai",
            "state":"Maharashtra",
            "postalCode":"400063",
            "country":"IN"
        }
    },
    "amount": "10.00",
    "currency": "INR",
    "state": "pending_redirect",
    "creationIp": "10.81.3.92",
    "createdTime": "2020-02-26T02:48:11.508Z",
    "updatedTime": "2020-02-26T02:48:11.508Z",
    "flow": "redirect",
    "redirect": {
        "redirectUrl": "https://api.digitalriverws.com:443/payments/redirects/51314834-9bf9-483f-b3a7-4b36a14d3f5c?apiKey=pk_hc_e03ee62c0d964bb3ac75595b1203d13c",
        "returnUrl": "https://example.com/return",
        "cancelUrl": "https://example.com/cancel"
    },
    "ccavenue": {}
}

Payment options

CCAvenue offers multiple payment options. The bankCode identifies the payment options and determines the value of the subType field.

The bankCode value will be used as the subType unless the bankCode is "Credit Card", then the bankName will be used as the subType.

Credit Card
"ccavenue": {

    "bankReferenceNumber": "1634229024157",
    "accountToken": "71826934100000000000000575766005",
    "trackingId": "310007639563",
    "subType": "Visa",
    "bankName": "Visa",
    "bankCode": "Credit Card",
    "orderStatus": "Success"
}
Net Banking
"ccavenue": {
    "bankReferenceNumber": "1634229110338",
    "accountToken": "71826934100000000000000575766005",
    "trackingId": "310007639565",
    "subType": "Net Banking",
    "bankName": "AvenuesTest",
    "bankCode": "Net Banking",
    "orderStatus": "Success"
}
Wallet
"ccavenue": {
    "bankReferenceNumber": "1634229189578",
    "accountToken": "71826934100000000000000575766005",
    "trackingId": "310007639569",
    "subType": "Wallet",
    "bankName": "AvenuesTest",
    "bankCode": "Wallet",
    "orderStatus": "Success"
}
UPI
"ccavenue": {
    "bankReferenceNumber": "377494",
    "accountToken": "71826934100000000000000575766005",
    "trackingId": "310007639571",
    "subType": "Unified Payments",
    "bankName": "UPI",
    "bankCode": "Unified Payments",
    "orderStatus": "Success"
}
Field
Optional/Required
Description

bankReferenceNumber

Required

The bank reference nubmer for the shopper's account.

accountToken

Required

The shopper's account token.trackingId

trackingId

Required

The tracking identifier for the order.

Step 3: Authorize the CCAvenue source

When you create a CCAvenue source, the customer must authorize the charge through their payment provider. You can accomplish this by redirecting the customer to their payment provider.

Redirecting the customer for CCAvenue authorization

Use the redirectUrl parameter in your createSource response to redirect your customer to the payment provider for authorization.

window.location.href = sourceResponse.redirect.redirectUrl;

The payment provider will present the customer with the transaction details, and the customer can authorize or cancel the transaction. A successful authorization redirects the customer to the CCAvenue Return URL parameter specified when you created the source.

Once authorized, the source state will change to chargeable.

Step 4: Use the authorized source

Once authorized, you can use the source by attaching it to a cart or a customer.

Option 1: Attach the source to the cart

{  
   "paymentMethod": {    
      "sourceId": "5ce08114-143b-4bf6-ae0e-6fc501ee0c24"
   }
}

Option 2: Attach the source to a customer

{
  "paymentOption": {
    "nickName": "My Visa Card",
    "isDefault": "true",
    "sourceId": "5ce08114-143b-4bf6-ae0e-6fc501ee0c24"
  }
}

Testing CCAvenue

You can test your payment integration in the CCAvenue sandbox. When evaluating your integration, always use your test API keys. This prevents you from interacting directly with payment services and ensures that the test data you enter does not create an actual charge or result in the transfer of funds.

Use your confidential (secret) test API key when conducting testing in the Digital River API. Use your public test API key to create test payment sources in DigitalRiver.js.

Your testing approach depends on whether the payment method has an authentication flow of redirect. If you don't know the flow of the payment method you'd like to test, you can find it on the Supported payment methods page.

Use the following payment information when running a test.

Payment option
Payment information
Notes

Credit Card

4111111111111111 / 123

The expiration date must be at lease one day in the future.

Net Banking

AvenueTest

UPI

select BHIM (first button) / 123456@upi

Wait for the countdown. Unified Payment Interface (UPI) identifier can be any six-digit number and @upi—for example, 123456@upi and 458093@upi. You can use every UPI identifier multiple times per day. However, when testing, you should either (1) clear the cookies or (2) use an incognito window every time after placing the order.

Wallet

AvenueTest

Supported markets

For information on supported markets and currencies for Drop-in and DigitalRiver.js, go to:

Last updated

Was this helpful?

#1249: DOC-395 CCAvenue

Change request updated