Configuring BLIK

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

If you're using DigitalRiver.js with Elements, you can create a BLIK payment method for your app or website in four easy steps:

Step 1: Build a BLIK Source Request object

Build the BLIK Source Request Details object. The BLIK Source Request object requires the following fields.

Field
Value

type

blik

sessionId

The payment session identifier.

owner

BLIK Source Details object

The BLIK object requires the following fields.

{
  "returnUrl":"https://js-test.digitalriver.com/v1/1.20220329.1453/components/redirect-receiver/redirect-receiver.html?controllerId=controller-76ef3046-888c-4073-90ad-1b5d61a8af08&componentId=redirect-receiver-1757f835-c21b-4f4e-b208-92adc5c30573&action=return",
  "cancelUrl":"https://js-test.digitalriver.com/v1/1.20220329.1453/components/redirect-receiver/redirect-receiver.html?controllerId=controller-76ef3046-888c-4073-90ad-1b5d61a8af08&componentId=redirect-receiver-1757f835-c21b-4f4e-b208-92adc5c30573&action=cancel",
  "shipping":{
    "address":{
      "line1":"10380 Bren Rd W",
      "line2":"Suite 180",
      "city":"Minnetonka",
      "state":"MN",
      "postalCode":"55344",
      "country":"US"
    },
    "email":"example@example.com",
    "phoneNumber":"9525551212",
    "recipient":"Jane Doe"
  }
}
Field
Required/Optional
Description

cancelUrl

Required

If you choose to use the full redirect flow, this is where your customer will be redirected to after cancelling within the BLIK experience.

returnUrl

Required

If you choose to use the full redirect, this is where you will redirect your customer to after authorization within the BLIK experience.

shipping

Optonal

If the order contains a physical product that requires a shipping address, include it here.

Step 2: Create a BLIK source using DigitalRiver.js

To create a BLIK payment source, use the DigitalRiver.js library to create and mount elements to the HTML container, or you can assemble the information and then send it using the standard calls in DigitalRiver.js.

The address object must contain postal code and state/province data that adheres to a standardized format using the state attribute. Note that the state attribute listed below corresponds to the countrySubdivision attribute used when providing address information. The payment session manages the correct field name on the backend.

var sourceData = {
  "type":"blik",
  "sessionId":"ea03bf6f-84ef-4993-b1e7-b7d5ecf71d1f",
  "owner":{
    "firstName":"Jane",
    "lastName":"Doe",
    "email":"example@example.com",
    "phoneNumber":"9525551212",
    "address":{
      "line1":"10380 Bren Rd W",
      "line2":"Suite 180",
      "city":"Minnetonka",
      "state":"MN",
      "postalCode":"55344",
      "country":"US"
    }
  },
  "blik":{
    "returnUrl":"https://js-test.digitalriver.com/v1/1.20220329.1453/components/redirect-receiver/redirect-receiver.html?controllerId=controller-76ef3046-888c-4073-90ad-1b5d61a8af08&componentId=redirect-receiver-1757f835-c21b-4f4e-b208-92adc5c30573&action=return",
    "cancelUrl":"https://js-test.digitalriver.com/v1/1.20220329.1453/components/redirect-receiver/redirect-receiver.html?controllerId=controller-76ef3046-888c-4073-90ad-1b5d61a8af08&componentId=redirect-receiver-1757f835-c21b-4f4e-b208-92adc5c30573&action=cancel"
  }
}
 
 
digitalriver.createSource(sourceData).then(function(result) {
    if(result.error) {
        //handle error message
        var errorMessage = result.error.errors[0].message;
    } else {
        //send the source to the back end for processing
        var source = result.source;
    }
});

BLIK source response example

{
  "clientId":"gc",
  "channelId":"drdod15",
  "liveMode":false,
  "id":"cd53c5da-cc8a-4bbe-a51b-89fba9e82503",
  "sessionId":"ea03bf6f-84ef-4993-b1e7-b7d5ecf71d1f",
  "clientSecret":"cd53c5da-cc8a-4bbe-a51b-89fba9e82503_9e6cbc1e-41bc-4018-8ed8-f35b39c0c0b6",
  "type":"blik",
  "reusable":false,
  "owner":{
    "firstName":"Jane",
    "lastName":"Doe",
    "email":"example@example.com",
    "phoneNumber":"9525551212",
    "address":{
      "line1":"10380 Bren Rd W",
      "line2":"Suite 180",
      "city":"Minnetonka",
      "state":"MN",
      "postalCode":"55344",
      "country":"US"
    }
  },
  "amount":"100.00",
  "currency":"USD",
  "state":"pending_redirect",
  "creationIp":"209.87.180.27",
  "createdTime":"2022-03-29T20:09:25.752Z",
  "updatedTime":"2022-03-29T20:09:25.752Z",
  "flow":"redirect",
  "redirect":{
    "redirectUrl":"https://api.digitalriver.com:443/payments/redirects/954cf456-aad3-4957-87ed-743ea4c9c102?apiKey=pk_sys_c2608001bba7477eae22808e1eb138db",
    "returnUrl":"https://js-test.digitalriver.com/v1/1.20220329.1453/components/redirect-receiver/redirect-receiver.html?controllerId=controller-98d77216-cd36-474c-8c74-18e8ba7f2282&componentId=redirect-receiver-1757f835-c21b-4f4e-b208-92adc5c30573&action=return",
    "offline":false
  },
  "language":"en",
  "blik":{
    
  }
}

Step 3: Authorize the BLIK source

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

Redirecting the customer for BLIK 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 BLIK Return URL parameter you specified when you created the source.

Once authorized, the source state will change to chargeable.

{
  "clientId":"gc",
  "channelId":"drdod15",
  "liveMode":false,
  "id":"cd53c5da-cc8a-4bbe-a51b-89fba9e82503",
  "sessionId":"ea03bf6f-84ef-4993-b1e7-b7d5ecf71d1f",
  "clientSecret":"cd53c5da-cc8a-4bbe-a51b-89fba9e82503_9e6cbc1e-41bc-4018-8ed8-f35b39c0c0b6",
  "type":"blik",
  "reusable":false,
  "owner":{
    "firstName":"Jane",
    "lastName":"Doe",
    "email":"example@example.com",
    "phoneNumber":"9525551212",
    "address":{
      "line1":"10380 Bren Rd W",
      "line2":"Suite 180",
      "city":"Minnetonka",
      "state":"MN",
      "postalCode":"55344",
      "country":"US"
    }
  },
  "amount":"100.00",
  "currency":"USD",
  "state":"chargeable",
  "creationIp":"209.87.180.27",
  "createdTime":"2022-03-29T20:09:25.752Z",
  "updatedTime":"2022-03-29T20:09:25.752Z",
  "flow":"redirect",
  "redirect":{
    "redirectUrl":"https://api.digitalriver.com:443/payments/redirects/954cf456-aad3-4957-87ed-743ea4c9c102?apiKey=pk_sys_c2608001bba7477eae22808e1eb138db",
    "returnUrl":"https://js-test.digitalriver.com/v1/1.20220329.1453/components/redirect-receiver/redirect-receiver.html?controllerId=controller-98d77216-cd36-474c-8c74-18e8ba7f2282&componentId=redirect-receiver-1757f835-c21b-4f4e-b208-92adc5c30573&action=return",
    "offline":false
  },
  "language":"en",
  "blik":{
    
  }
}

Step 4: Use the authorized source

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

{
  "paymentMethod": {
    "sourceId": "f1e89f7a-4857-4e0a-9c31-bdb70401fea0"
  }
}

Testing BLIK

See Testing redirect payment methods for testing instructions.

Last updated