INSTRUCTIONS:
1. Unzip gf-etapestry-payment into your plugins folder or use the Wordpress plugin uploader
2. Activate plugin (Gravity Forms must be activated as well for gf-etapestry to work) NOTE: You must deactivate any other GF payment gateways or make provisions to prevent them from overriding validation results (using conditional feed processing). Gravity Forms manages the overall validation process and this plugin cannot prevent other addons from interfering.
3. Add serial key and eTapestry credentials in Form>Settings>eTapestry. NOTE: if your API version of etapestry is v2, change the v3 in the url to v2 or vice versa. Your key was provided in your confirmation email. You can also find your key in your account at https://towerplugins.com/account. The first time you validate the key, the site url is added to your account. Only one site url may be active at one time. To migrate your plugin, go to your account and remove the existing url. If you did not receive a key, please contact support@towerplugins.com.
4. For each form you must set the Fund and map form fields to eTapestry fields in Form Settings>eTapestry Payment tab (the Feed) or require the User to do so (User Choice).
5. Map your form fields to the eTapestry fields. The Fund mapping is only required if you choose 'User Choice' for your fund. The optional Reference field stores the etapestry Account Reference Number in the entry.
6. Recurring Gifts: To set up a form for recurring gifts, specify 'Subscription' in the Form Feed transaction type and set up the parameters. Auto processed subscriptions continue until manually canceled in etapestry.
7. A new donor account will be created if one does not exist. Duplicate accounts may be matched by email only unless you specify not to in settings. In which case the name and address may be used. Use the hook 'eTapPayment_donor_account' to update the existing account prior to processing. An example may be found in FAQ on towerplugins.com. NOTE: If you use the eTapestry Mapping plugin, you should set the Name field to be the same field (or do not map) for less confusion.
8. This plugin processes payments through your Blackbaud account. If you want to process through another gateway (PayPal,Authorize.net, Stripe, etc) and register a Gift with eTapestry, you need the eTapestry Mapping plugin instead. 
9. This is a Gravity Forms Payment Addon. Additional information may be found under Gravity Forms support for that framework.
10. If you update from PHP 5.4.x to PHP 5.5.x or higher, you will need to reenter and save your Serial Key in Settings. The same key works but is managed differently between versions.
11. At the advice of Blackbaud, the plugin sends the IP address of the donor prior to sending the addAndProcessGift request (donation). If this causes an issue (it will with testing locally as your localhost may not have an ip address), you can turn it off by adding this filter to your functions file: add_filter('eTapPayment_sendIP', '__return_false'); You can also conditionally override (for example if you only want to override if the user is an admin). Just return false if your condition is met.
12. For recurring donations (subscriptions), the plugin will attempt a one time donation first. If that succeeds, it will attempt to set up a subscription beginning the following period. If that fails, the form will still submit. And therefore, you may get a form submission and successful donation response (and notification if set up) but there will also be a failed subscription event. You may set up this notification for alerting someone that this has happened. In other words, it is possible for a user to have a successful one time donation, but an unsuccessful subscription creation.
13. To send the card type add this to your functions file: add_filter('eTapPayment_send_card_type','__return_true'). You must make sure the verbiage matches your etapestry account card types. The defaults are 'American Express', 'Visa', 'MasterCard', 'Discover' and 'Unknown'. You can alter the value to suit your purposes like so: 
add_filter('eTapPayment_card_type', function($type){ if ($type == 'American Express') {return 'Amex';} return $type; } );
14. If you add an EFT field (echeck) to your form as well as a Credit Card field, you must add a radio button or select field to control which field to show for payment details. You should also require the fields if they are shown. Not doing this may yield strange errors and unpredictable behavior. 
15. To utilize the new BB Checkout SCA compliant field, add it to your form and select the payment type (CC or EFT). If you accept both, add two BB Checkout fields (one for each type) and control which shows based upon a payment method radio button in your form. If you do not require SCA processing, you may use the default Credit Card and EFT fields instead. Either way but not both.
16. The eTapestry API uses your account's default processor. This is controlled by eTapestry and unavoidable at present.