hps / heartland-gravity-forms-addon

Heartland plugin for Gravity Forms.
https://developer.heartlandpaymentsystems.com/SecureSubmit
GNU General Public License v2.0
2 stars 5 forks source link

Ach #25

Closed ttnnkkrr closed 7 years ago

ttnnkkrr commented 7 years ago

This is Only the ACH peice and requires keys configured for this type of processing to test

slogsdon commented 7 years ago

@ttnnkkrr @makenziemoore Notes I had:

before submission:

Notice: Undefined variable: card_number_field_input in /Users/shane.logsdon/wordpress/wp-content/plugins/heartland-secure-submit-addon-for-gravity-forms/classes/class-gf-field-hpsach.php on line 194

Notice: Undefined variable: account_number_field in /Users/shane.logsdon/wordpress/wp-content/plugins/heartland-secure-submit-addon-for-gravity-forms/templates/ach-payment-fields.php on line 19

Notice: Undefined variable: routing_number_field in /Users/shane.logsdon/wordpress/wp-content/plugins/heartland-secure-submit-addon-for-gravity-forms/templates/ach-payment-fields.php on line 30

after submission:

Notice: Undefined index: in /Users/shane.logsdon/wordpress/wp-content/plugins/heartland-secure-submit-addon-for-gravity-forms/classes/class-gf-securesubmit.php on line 1233

Undefined index: in /Users/shane.logsdon/wordpress/wp-content/plugins/heartland-secure-submit-addon-for-gravity-forms/classes/class-gf-securesubmit.php on line 1233

Notice: Undefined index: in /Users/shane.logsdon/wordpress/wp-content/plugins/heartland-secure-submit-addon-for-gravity-forms/classes/class-gf-securesubmit.php on line 1234

Notice: Undefined index: in /Users/shane.logsdon/wordpress/wp-content/plugins/heartland-secure-submit-addon-for-gravity-forms/classes/class-gf-securesubmit.php on line 1235

Notice: Undefined index: in /Users/shane.logsdon/wordpress/wp-content/plugins/heartland-secure-submit-addon-for-gravity-forms/classes/class-gf-securesubmit.php on line 1236

Notice: Undefined index: in /Users/shane.logsdon/wordpress/wp-content/plugins/heartland-secure-submit-addon-for-gravity-forms/classes/class-gf-securesubmit.php on line 1237

Notice: Undefined index: ach_check_type in /Users/shane.logsdon/wordpress/wp-content/plugins/heartland-secure-submit-addon-for-gravity-forms/classes/class-gf-securesubmit.php on line 822

Notice: Undefined index: ach_account_type in /Users/shane.logsdon/wordpress/wp-content/plugins/heartland-secure-submit-addon-for-gravity-forms/classes/class-gf-securesubmit.php on line 824

Notice: Undefined variable: expiration_date in /Users/shane.logsdon/wordpress/wp-content/plugins/heartland-secure-submit-addon-for-gravity-forms/classes/class-gf-field-hpsach.php on line 149

Notice: Undefined variable: expiration_date in /Users/shane.logsdon/wordpress/wp-content/plugins/heartland-secure-submit-addon-for-gravity-forms/classes/class-gf-field-hpsach.php on line 153

Notice: Undefined variable: card_number_field_input in /Users/shane.logsdon/wordpress/wp-content/plugins/heartland-secure-submit-addon-for-gravity-forms/classes/class-gf-field-hpsach.php on line 194

Notice: Undefined variable: account_number_field in /Users/shane.logsdon/wordpress/wp-content/plugins/heartland-secure-submit-addon-for-gravity-forms/templates/ach-payment-fields.php on line 19

Notice: Undefined variable: routing_number_field in /Users/shane.logsdon/wordpress/wp-content/plugins/heartland-secure-submit-addon-for-gravity-forms/templates/ach-payment-fields.php on line 30

I passed values in account number and routing number, but I receive an error that they cannot consist of all zeros and cannot match each other. I passed an account holder name, but I receive an error about a missing payor name. Raw request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hps="http://Hps.Exchange.PosGateway"><soapenv:Body><hps:PosRequest><hps:Ver1.0><hps:Header><hps:SecretAPIKey>skapi_cert_MbPdAQBL1l4A2ThZoTBKXEdEG1rIi7KAa6Yskl9Nzg</hps:SecretAPIKey><hps:DeveloperID>002914</hps:DeveloperID><hps:VersionNbr>1916</hps:VersionNbr><hps:SiteTrace/></hps:Header><hps:Transaction><hps:CheckSale><hps:Block1><hps:Amt>1.00</hps:Amt><hps:AccountInfo/><hps:CheckAction>SALE</hps:CheckAction><hps:SECCode>WEB</hps:SECCode><hps:DataEntryMode>MANUAL</hps:DataEntryMode><hps:ConsumerInfo><hps:Address1/><hps:City/><hps:State/><hps:Zip/></hps:ConsumerInfo></hps:Block1></hps:CheckSale></hps:Transaction></hps:Ver1.0></hps:PosRequest></soapenv:Body></soapenv:Envelope>

admin edit form with existing element:

Notice: Undefined variable: card_number_field_input in /Users/shane.logsdon/wordpress/wp-content/plugins/heartland-secure-submit-addon-for-gravity-forms/classes/class-gf-field-hpsach.php on line 194

field group name is "Untitled"

Notice: Undefined variable: account_number_field in /Users/shane.logsdon/wordpress/wp-content/plugins/heartland-secure-submit-addon-for-gravity-forms/templates/ach-payment-fields.php on line 19

Notice: Undefined variable: routing_number_field in /Users/shane.logsdon/wordpress/wp-content/plugins/heartland-secure-submit-addon-for-gravity-forms/templates/ach-payment-fields.php on line 30

admin edit form without existing element:

Notice: Undefined variable: card_number_field_input in /Users/shane.logsdon/wordpress/wp-content/plugins/heartland-secure-submit-addon-for-gravity-forms/classes/class-gf-field-hpsach.php on line 194

Notice: Undefined variable: account_number_field in /Users/shane.logsdon/wordpress/wp-content/plugins/heartland-secure-submit-addon-for-gravity-forms/templates/ach-payment-fields.php on line 19

Notice: Undefined variable: routing_number_field in /Users/shane.logsdon/wordpress/wp-content/plugins/heartland-secure-submit-addon-for-gravity-forms/templates/ach-payment-fields.php on line 30
slogsdon commented 7 years ago

@ttnnkkrr Before I forget, this needs to be removed at some point: https://github.com/hps/heartland-gravity-forms-addon/blob/05659477203d5d0656931752b0efa64a9d8ae568/classes/includes/src/Abstractions/HpsGatewayServiceAbstract.php#L117-L122.

slogsdon commented 7 years ago

@ttnnkkrr Did the class-gf-securesubmit.php file get sent through an automatic format process? I don't approve of how it looks in this PR versus how it currently looks.

ttnnkkrr commented 7 years ago

@slogsdon yes its some automatic formatting.

slogsdon commented 7 years ago

@ttnnkkrr Problems I have with your automatic formatting as it is today:

I'm all for automatic formatting, so may I suggest that you set your editor to one of these PHP standards: PEAR, PSR-1, or PSR-2. Automatic formatting should occur naturally as you edit a file, and file-wide updates should only be done on new files.

Let me know of any comments/concerns you have with the above. Of course, this is my opinion, so this is meant as a discussion starter.

ttnnkkrr commented 7 years ago

@slogsdon OK then we canmake our official format PSR-1/2 I can get behind that

slogsdon commented 7 years ago

Notes:

Error is shown when there is missing data, but I'm not told what the error is:

screen shot 2017-01-24 at 10 59 57 pm

With that same screenshot, are we able to persist non-sensitive data across submission attempts? I'd think account holder name, check type, and account type would persist if there was a validation issue. (In screenshot above, I only entered account holder name.)

Can we disable autocomplete for sensitive data (account number and routing number)?

After a validation error, I'm unable to submit the form, even after entering valid data. I am forced to do a hard refresh.

class-gf-securesubmit.php still has array shorthand within it.

Tab order is odd within this form:

screen shot 2017-01-24 at 11 09 21 pm

Tab when focused on cardholder name goes to submit button instead of ach account holder name. Also related, tab when focused on account type goes to post author link instead of submit.

ttnnkkrr commented 7 years ago

@slogsdon Are you suggesting that we need to identify which fields are blank in the submission?

ttnnkkrr commented 7 years ago

@slogsdon So only loose the account and routing(between submissions if an error? And persist entered data in the other 3 elements?

ttnnkkrr commented 7 years ago

@slogsdon i cannot duplicate the problem of not being able to resubmit the ACH. can you offer any additional insight on how it fails for you

slogsdon commented 7 years ago

@ttnnkkrr Yes, the end-user needs to know which fields need correcting to pass validation. Built-in validation from produces a message and a visual cue (adds a class to the affected elements which by default adds a red border).

Yes, between submission attempts, the account holder name, the check type, and the account type should be represented to the end-user to prevent the need to re-enter that data. The account number and routing number should not be represented and those fields should have autocomplete disabled.

slogsdon commented 7 years ago

@ttnnkkrr To recreate that, I attempted to submit a form with only the account holder name. After the refresh, I then entered all information and attempted to submit again but was not redirected to the confirmation message.

ttnnkkrr commented 7 years ago

@slogsdon ok yea im not seeing exactly what your descibing but it is clear that it is not picking up the new data being entered

ttnnkkrr commented 7 years ago

@slogsdon I just discovered the velocity check is catching mine Ill retry later tonight

slogsdon commented 7 years ago

Merged via #27