anchor.diff:  
   === How GoCardless Works
   
  -The first step in GoCardless would be adding a customer and setting up a payment mandate. GoCardless supports three ways to do this as explained https://developer.gocardless.com/getting-started/api/adding-your-first-customer/[here]. In this tutorial, we will be using the *hosted payment page* approach which is explained https://developer.gocardless.com/getting-started/api/adding-your-first-customer/#setting-up-direct-debit-mandates-using-hosted-payment-pages[here].
  +The first step in GoCardless would be adding a customer and setting up a payment mandate. We will be using the https://developer.gocardless.com/api-reference#core-endpoints-redirect-flows[_Gocardless Redirect Flow_].
   
   The diagram below explains the steps involved. We consider the following actors:
   
  
positive.code: 
  ==== Step 4 - Implementing GoCardlessPaymentPluginApi#buildFormDescriptor
  
  The `buildFormDesciptor` is typically used for https://docs.killbill.io/latest/userguide_payment.html#\_hosted\_payment\_page_flow[hosted payment flows] to display a form where a user can enter his/her  payment details. In the case of GoCardless, it is used to *initiate* the *Gocardless redirect flow* in GoCardless and to obtain the *redirect URL*. Thus, it is implemented as follows (See https://github.com/killbill/killbill-gocardless-example-plugin/blob/9522498ecde5849c940574c598ceb5ce088d32a7/src/main/java/org/killbill/billing/plugin/gocardless/GoCardlessPaymentPluginApi.java#L293[__GoCardlessPaymentPluginApi.buildFormDescriptor__]):
  
  [source,java,linenums]
  ----
  
negative.code: 
  * Properties can be returned from a plugin via the <<PaymentTransactionInfoPlugin, PaymentTransactionInfoPlugin>> object (So the `PaymentTransactionInfoPlugin#getProperties` must be implemented to return the desired plugin properties).
  
  [NOTE]
  *Note*: 
  The plugin properties returned by the <<getPaymentInfo,getPaymentInfo>> method are however displayed in the Kaui payment screen under the *"status"* column.
  
  See the https://docs.killbill.io/latest/userguide_payment.html#_plugin_properties[__payment guide__] for more information on plugin properties.
  
  == GoCardless Plugin Tutorial
  