<?php
/**
 * WARNING: Do not edit by hand, this file was generated by Crank:
 *
 * https://github.com/gocardless/crank
 */

namespace GoCardlessPro\Resources;

/**
 * A thin wrapper around a redirect_flow, providing access to its
 * attributes
 *
 * @property-read mixed $confirmation_url
 * @property-read mixed $created_at
 * @property-read mixed $description
 * @property-read mixed $id
 * @property-read mixed $links
 * @property-read mixed $mandate_reference
 * @property-read mixed $metadata
 * @property-read mixed $redirect_url
 * @property-read mixed $scheme
 * @property-read mixed $session_token
 * @property-read mixed $success_redirect_url
 */
class RedirectFlow extends BaseResource
{
    protected $model_name = "RedirectFlow";

    /**
     * The URL of a confirmation page, which you may optionally redirect the
     * customer to rather than use your own page, that confirms in their chosen
     * language that their Direct Debit has been set up successfully. Only
     * returned once the customer has set up their mandate via the payment pages
     * and the redirect flow has been
     * [completed](#redirect-flows-complete-a-redirect-flow), and only available
     * for 15 minutes from when you complete the redirect flow. The structure of
     * this URL may change at any time, so you should read it directly from the
     * API response.
     */
    protected $confirmation_url;

    /**
     * Fixed [timestamp](#api-usage-dates-and-times), recording when this
     * resource was created.
     */
    protected $created_at;

    /**
     * A description of the item the customer is paying for. This will be shown
     * on the hosted payment pages.
     */
    protected $description;

    /**
     * Unique identifier, beginning with "RE".
     */
    protected $id;

    /**
     * 
     */
    protected $links;

    /**
     * Mandate reference generated by GoCardless or submitted by an integrator.
     */
    protected $mandate_reference;

    /**
     * Key-value store of custom data. Up to 3 keys are permitted, with key
     * names up to 50 characters and values up to 500 characters. _Note:_ This
     * should not be used for storing PII data.
     */
    protected $metadata;

    /**
     * The URL of the hosted payment pages for this redirect flow. This is the
     * URL you should redirect your customer to.
     */
    protected $redirect_url;

    /**
     * The Direct Debit scheme of the mandate. If specified, the payment pages
     * will only allow the set-up of a mandate for the specified scheme. It is
     * recommended that you leave this blank so the most appropriate scheme is
     * picked based on the customer's bank account.
     */
    protected $scheme;

    /**
     * The customer's session ID must be provided when the redirect flow is set
     * up and again when it is completed. This allows integrators to ensure that
     * the user who was originally sent to the GoCardless payment pages is the
     * one who has completed them.
     */
    protected $session_token;

    /**
     * The URL to redirect to upon successful mandate setup. You must use a URL
     * beginning `https` in the live environment.
     */
    protected $success_redirect_url;

}
