Getting Started with Shell SmartPay API

Introduction

The APIs detailed within this document will enable Shell's Fleet Solutions Customers to digitalize Shell Card/s and use them to pay to refuel their vehicles at Shell Stations.

Install the Package

Install the gem from the command line:

gem install digital-payments-sdk -v 1.2.0

Or add the gem to your Gemfile and run bundle:

gem 'digital-payments-sdk', '1.2.0'

For additional gem details, see the RubyGems page for the digital-payments-sdk gem.

Test the SDK

To run the tests, navigate to the root directory of the SDK in your terminal and execute the following command:

rake

Initialize the API Client

Note: Documentation for the client can be found here.

The following parameters are configurable for the API Client:

Parameter Type Description
environment Environment The API environment.
Default: Environment.TEST
connection Faraday::Connection The Faraday connection object passed by the SDK user for making requests
adapter Faraday::Adapter The Faraday adapter object passed by the SDK user for performing http requests
timeout Float The value to use for connection timeout.
Default: 60
max_retries Integer The number of times to retry an endpoint call if it fails.
Default: 0
retry_interval Float Pause in seconds between retries.
Default: 1
backoff_factor Float The amount to multiply each successive retry's interval amount by in order to provide backoff.
Default: 2
retry_statuses Array A list of HTTP statuses to retry.
Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]
retry_methods Array A list of HTTP methods to retry.
Default: %i[get put]
http_callback HttpCallBack The Http CallBack allows defining callables for pre and post API calls.
mpp_token_credentials MppTokenCredentials The credential object for Custom Header Signature
o_auth_token_post_credentials OAuthTokenPostCredentials The credential object for Custom Header Signature

The API client can be initialized as follows:

client = ShellSmartPayApi::Client.new(
  mpp_token_credentials: MppTokenCredentials.new(
    authorization: 'Authorization'
  ),
  o_auth_token_post_credentials: OAuthTokenPostCredentials.new(
    x_apigee_authorization: 'X-Apigee-Authorization'
  ),
  environment: Environment::TEST
)

Environments

The SDK can be configured to use a different environment for making API calls. Available environments are:

Fields

Name Description
Test Default
Production -

Authorization

This API uses the following authentication schemes.

List of APIs

Classes Documentation