anchor.diff:  
   * It is quite possible that your plugin might not support some of the operations listed above. In such a case, the plugin can do one of the following:
   
  -** Return an *empty list* when the return type is a list 
  -** Return a transaction with status *CANCELED* if the return type is a `PaymentTransactionInfoPlugin` 
  -** Return empty objects otherwise
  +** Return an *empty list* when the return type is a `List`.
  +** Return a transaction with status *CANCELED* if the return type is a `PaymentTransactionInfoPlugin` .
  +** Return empty objects otherwise.
   
   [[PaymentTransactionInfoPlugin]]
   == PaymentTransactionInfoPlugin 
   
  -Most of the methods in the https://github.com/killbill/killbill-plugin-api/blob/master/payment/src/main/java/org/killbill/billing/payment/plugin/api/PaymentPluginApi.java[_PaymentPluginApi_] interface return a https://github.com/killbill/killbill-api/blob/4ae1c343a593de937415e21feecb9f5405037fa3/src/main/java/org/killbill/billing/payment/plugin/api/PaymentTransactionInfoPlugin.java[_PaymentTransactionInfoPlugin_] object. Again, the https://github.com/killbill/killbill-plugin-framework-java[_Kill Bill Plugin framework_] includes a class called https://github.com/killbill/killbill-plugin-framework-java/blob/46d94fbeb1cf089aa04e62cfecf751ca47032023/src/main/java/org/killbill/billing/plugin/api/payment/PluginPaymentTransactionInfoPlugin.java[ _PluginPaymentTransactionInfoPlugin_] which implements the `PaymentTransactionInfoPlugin` interface. You can create a class that extends `PluginPaymentTransactionInfoPlugin` and have the plugin methods return this object.
  +Most of the methods in the https://github.com/killbill/killbill-plugin-api/blob/master/payment/src/main/java/org/killbill/billing/payment/plugin/api/PaymentPluginApi.java[_PaymentPluginApi_] interface return a https://github.com/killbill/killbill-api/blob/4ae1c343a593de937415e21feecb9f5405037fa3/src/main/java/org/killbill/billing/payment/plugin/api/PaymentTransactionInfoPlugin.java[_PaymentTransactionInfoPlugin_] object. Again, the https://github.com/killbill/killbill-plugin-framework-java[_Kill Bill Plugin framework_] includes a class called https://github.com/killbill/killbill-plugin-framework-java/blob/46d94fbeb1cf089aa04e62cfecf751ca47032023/src/main/java/org/killbill/billing/plugin/api/payment/PluginPaymentTransactionInfoPlugin.java[ _PluginPaymentTransactionInfoPlugin_] which implements the `PaymentTransactionInfoPlugin` interface. Thus, if you use the framework, you can simply create a class that extends `PluginPaymentTransactionInfoPlugin` and have the plugin methods return an object of this class.
   
   The `PaymentTransactionInfoPlugin` interface has the following methods (Your plugin code needs to populate this information in the `PaymentTransactionInfoPlugin` object):
   
   |===
  -|Method Name | Method Description
  +|*Method Name* | *Method Description*
   |getKbPaymentId
   |Returns Payment Id in Kill Bill
   |getKbTransactionPaymentId
  
positive.code: 
  * The servlet is mapped to the `/checkout` path. Thus, a client application needs to make a request to this path to invoke the servlet.
  
  * The `createSession` accepts properties corresponding to `clock` and `goCardlessPaymentPluginApi`. These are injected via the <<gocardless_activator, "GoCardlessActivator">> class.  
  
  * It then creates `PluginProperty` objects corresponding to the values passed in as parameters.
  
  
negative.code: 
  Initial setup steps include installing the necessary software, setting up the project in an IDE and generating a GoCardless token as explained below. 
  
  . Ensure that you have the necessary software for plugin development as listed in the https://docs.killbill.io/latest/plugin_development.html#_prerequisites["Prerequisites"] section of the __Plugin Development__ document. 
  . Clone the https://github.com/killbill/killbill-gocardless-example-plugin[_killbill-gocardless-example-plugin_] repository and set it up in an IDE as explained https://docs.killbill.io/latest/plugin_development.html#_setting_up_the_code_in_an_ide["Setting up the Code in an IDE"] section of the __Plugin Development__ document.
  
  . Generate a GoCardless access token as explained in the https://developer.gocardless.com/getting-started/making-your-first-api-request#creating_an_access_token[_Gocardless documentation_].
  
  