Class: GoCardlessPro::Resources::RedirectFlow

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

Overview

<p class=“deprecated-notice”><strong>Deprecated</strong>: Redirect Flows are our legacy APIs for setting up mandates and will no longer be supported in the future. We strongly recommend using the [Billing Request flow](#billing-requests) instead.</p>

Redirect flows enable you to use GoCardless’ [hosted payment pages](pay-sandbox.gocardless.com/AL000000AKFPFF) to set up mandates with your customers. These pages are fully compliant and have been translated into Danish, Dutch, French, German, Italian, Norwegian, Portuguese, Slovak, Spanish and Swedish.

The overall flow is:

  1. You [create](#redirect-flows-create-a-redirect-flow) a redirect flow

for your customer, and redirect them to the returned redirect url, e.g. https://pay.gocardless.com/flow/RE123.

  1. Your customer supplies their name, email, address, and bank account

details, and submits the form. This securely stores their details, and redirects them back to your success_redirect_url with ‘redirect_flow_id=RE123` in the querystring.

  1. You [complete](#redirect-flows-complete-a-redirect-flow) the redirect

flow, which creates a [customer](#core-endpoints-customers), [customer bank account](#core-endpoints-customer-bank-accounts), and [mandate](#core-endpoints-mandates), and returns the ID of the mandate. You may wish to create a [subscription](#core-endpoints-subscriptions) or [payment](#core-endpoints-payments) at this point.

Once you have [completed](#redirect-flows-complete-a-redirect-flow) the redirect flow via the API, you should display a confirmation page to your customer, confirming that their Direct Debit has been set up. You can build your own page, or redirect to the one we provide in the confirmation_url attribute of the redirect flow.

Redirect flows expire 30 minutes after they are first created. You cannot complete an expired redirect flow. For an integrator this is shorter and they will expire after 10 minutes.

Defined Under Namespace

Classes: Links

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(object, response = nil) ⇒ RedirectFlow

Initialize a redirect_flow resource instance

Parameters:

  • object (Hash)

    an object returned from the API



66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/gocardless_pro/resources/redirect_flow.rb', line 66

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

  @confirmation_url = object['confirmation_url']
  @created_at = object['created_at']
  @description = object['description']
  @id = object['id']
  @links = object['links']
  @mandate_reference = object['mandate_reference']
  @metadata = object['metadata']
  @redirect_url = object['redirect_url']
  @scheme = object['scheme']
  @session_token = object['session_token']
  @success_redirect_url = object['success_redirect_url']
  @response = response
end

Instance Attribute Details

#confirmation_urlObject (readonly)

Returns the value of attribute confirmation_url.



53
54
55
# File 'lib/gocardless_pro/resources/redirect_flow.rb', line 53

def confirmation_url
  @confirmation_url
end

#created_atObject (readonly)

Returns the value of attribute created_at.



54
55
56
# File 'lib/gocardless_pro/resources/redirect_flow.rb', line 54

def created_at
  @created_at
end

#descriptionObject (readonly)

Returns the value of attribute description.



55
56
57
# File 'lib/gocardless_pro/resources/redirect_flow.rb', line 55

def description
  @description
end

#idObject (readonly)

Returns the value of attribute id.



56
57
58
# File 'lib/gocardless_pro/resources/redirect_flow.rb', line 56

def id
  @id
end

#mandate_referenceObject (readonly)

Returns the value of attribute mandate_reference.



57
58
59
# File 'lib/gocardless_pro/resources/redirect_flow.rb', line 57

def mandate_reference
  @mandate_reference
end

#metadataObject (readonly)

Returns the value of attribute metadata.



58
59
60
# File 'lib/gocardless_pro/resources/redirect_flow.rb', line 58

def 
  @metadata
end

#redirect_urlObject (readonly)

Returns the value of attribute redirect_url.



59
60
61
# File 'lib/gocardless_pro/resources/redirect_flow.rb', line 59

def redirect_url
  @redirect_url
end

#schemeObject (readonly)

Returns the value of attribute scheme.



60
61
62
# File 'lib/gocardless_pro/resources/redirect_flow.rb', line 60

def scheme
  @scheme
end

#session_tokenObject (readonly)

Returns the value of attribute session_token.



61
62
63
# File 'lib/gocardless_pro/resources/redirect_flow.rb', line 61

def session_token
  @session_token
end

#success_redirect_urlObject (readonly)

Returns the value of attribute success_redirect_url.



62
63
64
# File 'lib/gocardless_pro/resources/redirect_flow.rb', line 62

def success_redirect_url
  @success_redirect_url
end

Instance Method Details

#api_responseObject



83
84
85
# File 'lib/gocardless_pro/resources/redirect_flow.rb', line 83

def api_response
  ApiResponse.new(@response)
end

Return the links that the resource has



88
89
90
# File 'lib/gocardless_pro/resources/redirect_flow.rb', line 88

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

#to_hObject

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



93
94
95
# File 'lib/gocardless_pro/resources/redirect_flow.rb', line 93

def to_h
  @object
end