Module: Paylike

Defined in:
lib/paylike.rb,
lib/paylike/gateway.rb,
lib/paylike/version.rb,
lib/paylike/resource.rb

Overview

Paylike HTTP API Client

Defined Under Namespace

Modules: Gateway Classes: App, Base, Card, Line, Resource, Transaction, User

Constant Summary collapse

THREE_D_SECURE_ERROR_CODE =

The 3D Secure error code

30
THREE_D_SECURE_CALLBACK_URI =

The 3D Secure callback URI

'https://gateway.paylike.io/acs-response'.freeze
VERSION =
'0.1.0'.freeze

Class Method Summary collapse

Class Method Details

.extract_threedsecure_data(error, uid) ⇒ Hash

Validates and extracts 3D Secure related data from an error response

Parameters:

  • error (ApiClient::ResponseError)

    the response error to extract from

  • uid (String)

    the unique identifier to use as the 3D Secure ‘MD` value

Returns:

  • (Hash)

    on valid 3D Secure response errors



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/paylike.rb', line 19

def self.extract_threedsecure_data(error, uid)
  resp_data = error.response_data

  if resp_data.nil? || resp_data['code'].to_i != THREE_D_SECURE_ERROR_CODE
    return
  end

  {
    threedsecure_url: resp_data['tds']['url'],
    threedsecure_data: {
      MD: uid,
      TermUrl: THREE_D_SECURE_CALLBACK_URI,
      PaReq: resp_data['tds']['pareq']
    }
  }
end