Class: GoCardlessPro::Resources::PayerAuthorisation

Inherits:
Object
  • Object
show all
Defined in:
lib/gocardless_pro/resources/payer_authorisation.rb

Overview

Don't use Payer Authorisations for new integrations. It is deprecated in favour of

Billing Requests

(https://developer.gocardless.com/getting-started/billing-requests/overview/). Use Billing Requests to build any future integrations.

Payer Authorisation resource acts as a wrapper for creating customer, bank account and mandate details in a single request. PayerAuthorisation API enables the integrators to build their own custom payment pages.

The process to use the Payer Authorisation API is as follows:

  1. Create a Payer Authorisation, either empty or with already available information
  2. Update the authorisation with additional information or fix any mistakes
  3. Submit the authorisation, after the payer has reviewed their information
  4. [coming soon] Redirect the payer to the verification mechanisms from the response of the Submit request (this will be introduced as a non-breaking change)
  5. Confirm the authorisation to indicate that the resources can be created

After the Payer Authorisation is confirmed, resources will eventually be created as it's an asynchronous process.

To retrieve the status and ID of the linked resources you can do one of the following:

  1. Listen to payer_authorisation_completed webhook (https://developer.gocardless.com/api-reference/#appendix-webhooks) (recommended)
  2. Poll the GET endpoint (https://developer.gocardless.com/api-reference/#payer-authorisations-get-a-single-payer-authorisation)
  3. Poll the GET events API #id&action=completed">https://api.gocardless.com/events?payer_authorisation=#id&action=completed

Note that the create and update endpoints behave differently than other existing create and update endpoints. The Payer Authorisation is still saved if incomplete data is provided. We return the list of incomplete data in the incomplete_fields along with the resources in the body of the response. The bank account details(account_number, bank_code & branch_code) must be sent together rather than splitting across different request for both create and update endpoints.

The API is designed to be flexible and allows you to collect information

in multiple steps without storing any sensitive data in the browser or in your servers.

Defined Under Namespace

Classes: Links

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(object, response = nil) ⇒ PayerAuthorisation

Initialize a payer_authorisation resource instance

Parameters:

  • object (Hash)

    an object returned from the API



78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/gocardless_pro/resources/payer_authorisation.rb', line 78

def initialize(object, response = nil)
  @object = object

  @bank_account = object['bank_account']
  @created_at = object['created_at']
  @customer = object['customer']
  @id = object['id']
  @incomplete_fields = object['incomplete_fields']
  @links = object['links']
  @mandate = object['mandate']
  @status = object['status']
  @response = response
end

Instance Attribute Details

#bank_accountObject (readonly)

Returns the value of attribute bank_account.



68
69
70
# File 'lib/gocardless_pro/resources/payer_authorisation.rb', line 68

def 
  @bank_account
end

#created_atObject (readonly)

Returns the value of attribute created_at.



69
70
71
# File 'lib/gocardless_pro/resources/payer_authorisation.rb', line 69

def created_at
  @created_at
end

#customerObject (readonly)

Returns the value of attribute customer.



70
71
72
# File 'lib/gocardless_pro/resources/payer_authorisation.rb', line 70

def customer
  @customer
end

#idObject (readonly)

Returns the value of attribute id.



71
72
73
# File 'lib/gocardless_pro/resources/payer_authorisation.rb', line 71

def id
  @id
end

#incomplete_fieldsObject (readonly)

Returns the value of attribute incomplete_fields.



72
73
74
# File 'lib/gocardless_pro/resources/payer_authorisation.rb', line 72

def incomplete_fields
  @incomplete_fields
end

#mandateObject (readonly)

Returns the value of attribute mandate.



73
74
75
# File 'lib/gocardless_pro/resources/payer_authorisation.rb', line 73

def mandate
  @mandate
end

#statusObject (readonly)

Returns the value of attribute status.



74
75
76
# File 'lib/gocardless_pro/resources/payer_authorisation.rb', line 74

def status
  @status
end

Instance Method Details

#api_responseObject



92
93
94
# File 'lib/gocardless_pro/resources/payer_authorisation.rb', line 92

def api_response
  ApiResponse.new(@response)
end

Return the links that the resource has



97
98
99
# File 'lib/gocardless_pro/resources/payer_authorisation.rb', line 97

def links
  @payer_authorisation_links ||= Links.new(@links)
end

#to_hObject

Provides the payer_authorisation resource as a hash of all its readable attributes



102
103
104
# File 'lib/gocardless_pro/resources/payer_authorisation.rb', line 102

def to_h
  @object
end