close ad
 
Important WebAssist Announcement
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

Start Date or Issue Number is required - Payment Unsuccessful

Thread began 4/14/2014 3:35 am by Nathon Jones Web Design | Last modified 4/17/2014 8:24 am by Jason Byrnes | 6319 views | 24 replies |

Nathon Jones Web Design

Start Date or Issue Number is required - Payment Unsuccessful

We're receiving an error when using the test Maestro card details provided by PayPal Sandbox.
"Failure9620887c5e3f2Invalid DataA Start Date or Issue Number is required.10567Error60.01043306457.00" }"

This obviously relates to the fact that eCart doesn't ask for a start date or issue number. How do I add this to my confirm.php so that the correct values are sent to PayPal?

Thank you.
NJ

Sign in to reply to this post

Jason ByrnesWebAssist

Edit the credit card form on the confirm page to add filds for:

startMonth
startYear
issueNumber


Then open the server behaviors panel, double click on the eCart Local Checkout server behavior to edit it.

on the 4th page, bind the startMont, startYear and Issue number variables to the form fields added to the credit card form.

Sign in to reply to this post

Nathon Jones Web Design

Can I copy the drop-down menu fields from the Expiry Date section, except obviously I'd have to rename these to Card_Start_Month and Card_Start-Year:

<div class="lineGroup">
<div class="fullColumnGroup"><label for="Card_Exp_Month" class="sublabel" >Expiration date :<span class="requiredIndicator">&nbsp;*</span></label>
<select class="formMenufield_Medium" name="Card_Exp_Month" id="Card_Exp_Month" rel="<?php echo((isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Month"):"")); ?>" tabindex="103" title="Please select a valid expiration date" required>
<option value="1" <?php if (!(strcmp("1", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Month"):"")))) {echo "selected=\"selected\"";} ?>>January</option>
<option value="2" <?php if (!(strcmp("2", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Month"):"")))) {echo "selected=\"selected\"";} ?>>February</option>
<option value="3" <?php if (!(strcmp("3", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Month"):"")))) {echo "selected=\"selected\"";} ?>>March</option>
<option value="4" <?php if (!(strcmp("4", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Month"):"")))) {echo "selected=\"selected\"";} ?>>April</option>
<option value="5" <?php if (!(strcmp("5", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Month"):"")))) {echo "selected=\"selected\"";} ?>>May</option>
<option value="6" <?php if (!(strcmp("6", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Month"):"")))) {echo "selected=\"selected\"";} ?>>June</option>
<option value="7" <?php if (!(strcmp("7", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Month"):"")))) {echo "selected=\"selected\"";} ?>>July</option>
<option value="8" <?php if (!(strcmp("8", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Month"):"")))) {echo "selected=\"selected\"";} ?>>August</option>
<option value="9" <?php if (!(strcmp("9", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Month"):"")))) {echo "selected=\"selected\"";} ?>>September</option>
<option value="10" <?php if (!(strcmp("10", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Month"):"")))) {echo "selected=\"selected\"";} ?>>October</option>
<option value="11" <?php if (!(strcmp("11", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Month"):"")))) {echo "selected=\"selected\"";} ?>>November</option>
<option value="12" <?php if (!(strcmp("12", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Month"):"")))) {echo "selected=\"selected\"";} ?>>December</option>
</select>
<?php
if (ValidatedField('confirm','confirm')) {
if ((strpos((",".ValidatedField("confirm","confirm").","), "," . "3" . ",") !== false || "3" == "")) {
if (!(false)) {
?><span class="serverInvalidState" id="Card_Exp_Month_ServerError">Please select a valid expiration date</span><?php //WAFV_Conditional confirm.php confirm(3:)
}
}
}?>
<select class="formMenufield_Small" name="Card_Exp_Year" id="Card_Exp_Year" rel="<?php echo((isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Year"):"")); ?>" tabindex="104" title="Please select a valid expiration date" required>
<option value="" <?php if (!(strcmp("", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Year"):"")))) {echo "selected=\"selected\"";} ?>>Year</option>
<option value="2014" <?php if (!(strcmp("2014", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Year"):"")))) {echo "selected=\"selected\"";} ?>>2014</option>
<option value="2015" <?php if (!(strcmp("2015", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Year"):"")))) {echo "selected=\"selected\"";} ?>>2015</option>
<option value="2016" <?php if (!(strcmp("2016", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Year"):"")))) {echo "selected=\"selected\"";} ?>>2016</option>
<option value="2017" <?php if (!(strcmp("2017", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Year"):"")))) {echo "selected=\"selected\"";} ?>>2017</option>
<option value="2018" <?php if (!(strcmp("2018", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Year"):"")))) {echo "selected=\"selected\"";} ?>>2018</option>
<option value="2019" <?php if (!(strcmp("2019", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Year"):"")))) {echo "selected=\"selected\"";} ?>>2019</option>
<option value="2020" <?php if (!(strcmp("2020", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Year"):"")))) {echo "selected=\"selected\"";} ?>>2020</option>
<option value="2021" <?php if (!(strcmp("2021", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Year"):"")))) {echo "selected=\"selected\"";} ?>>2021</option>
<option value="2022" <?php if (!(strcmp("2022", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Year"):"")))) {echo "selected=\"selected\"";} ?>>2022</option>
<option value="2023" <?php if (!(strcmp("2023", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Year"):"")))) {echo "selected=\"selected\"";} ?>>2023</option>
<option value="2024" <?php if (!(strcmp("2024", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Year"):"")))) {echo "selected=\"selected\"";} ?>>2024</option>
<option value="2025" <?php if (!(strcmp("2025", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Year"):"")))) {echo "selected=\"selected\"";} ?>>2025</option>
<option value="2026" <?php if (!(strcmp("2026", (isset($_GET["invalid"])?ValidatedField("confirm","Card_Exp_Year"):"")))) {echo "selected=\"selected\"";} ?>>2026</option>
</select>
<?php
if (ValidatedField('confirm','confirm')) {
if ((strpos((",".ValidatedField("confirm","confirm").","), "," . "4" . ",") !== false || "4" == "")) {
if (!(false)) {
?><span class="serverInvalidState" id="Card_Exp_Year_ServerError">Please select a valid expiration date</span><?php //WAFV_Conditional confirm.php confirm(4:)
}
}
}?>
</div>
</div>

I assume I'll have to edit the Server Validation server behaviour to add these two new fields?

And I only need them to be required for Maestro/Switch cards. Is there a way to make the validation dependent on the selection made in the Card_Type drop-down? Or to hide them and replace them with hidden form values should Maestro/Switch be selected?

Would appreciate your advice. Thank you.
NJ

Sign in to reply to this post

Nathon Jones Web Design

Changed the confirm.php page to have the following (I attach it also). Basically stripped out all of the validation:

<div class="lineGroup">
<div class="fullColumnGroup">
<label for="Card_Start_Month" class="sublabel" >Valid From (Maestro/Switch):<span class="requiredIndicator">&nbsp;*</span></label>
<select class="formMenufield_Medium" name="Card_Start_Month" id="Card_Start_Month" tabindex="105" title="Please select a valid start date">
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>

<select class="formMenufield_Small" name="Card_Start_Year" id="Card_Start_Year" tabindex="106" title="Please select a valid start date">
<option value="">Year</option>
<option value="2005">2005</option>
<option value="2006">2006</option>
<option value="2007">2007</option>
<option value="2008">2008</option>
<option value="2009">2009</option>
<option value="2010">2010</option>
<option value="2011">2011</option>
<option value="2012">2012</option>
<option value="2013">2013</option>
<option value="2014">2014</option>
</select>
</div>
</div>
<div class="lineGroup">
<div class="fullColumnGroup">
<label for="Issue_No" class="sublabel" >Issue Number (if applicable):<span class="requiredIndicator">&nbsp;*</span></label>
<input id="Issue_No" name="Issue_No" type="text" class="formTextfield_Large" tabindex="107" title="If your card has one, please enter your issue number">
</div>
</div>

How do I make these two sections only display if "Maestro" is selected from the Card_Type drop down?
And how do I trigger any validation on those fields to only run if "Maestro" is selected?

When I submit the form now, I initially received an error about an invalid country code and when I checked, I had manually added "England, Scotland, Northern Ireland, Wales" as countries in their own right, with their titles as the country code. I changed them all to "GB", although I'd ideally like to allow the option to enter either England, Scotland, Northern Ireland and Wales, and it didn't produce that error any more however we now receive the following error:

array(8) { ["LEDCart_Items"]=> string(251) "585|WAECART|LWP0252|WAECART|40 Watt RGB LED Flood Light (includes remote)|WAECART|LWP0252.jpg|WAECART|0|WAECART|1|WAECART|105|WAECART||WAECART||WAECART|0|WAECART||WAECART|0|WAECART|139754767462|WAECART|0|WAECART|105|WAECART|1 LWP0252 (585)|WAECART|105" ["WAEC_ContinueRedirect"]=> string(30) "/LED-Lights-Bulbs.php?lbid=585" ["WASF_CheckoutWizard_Sharp_Default"]=> array(31) { ["plugin_from"]=> string(43) "https://www.ledwarehouseuk.com/checkout.php" ["plugin_file"]=> string(16) "confirm_cart.php" ["payment-type"]=> string(10) "creditcard" ["First_Name"]=> string(19) "Nathon Test 1504 06" ["Last_Name"]=> string(5) "Jones" ["Email_Address"]=> string(24) "admin@ledwarehouseuk.com" ["Phone_Number"]=> string(12) "01671 404924" ["Company_Name"]=> string(0) "" ["Address_1"]=> string(14) "1 Main Terrace" ["Address_2"]=> string(0) "" ["City"]=> string(13) "Wolverhampton" ["Country"]=> string(2) "GB" ["State_Hidden"]=> string(0) "" ["State"]=> string(13) "West Midlands" ["Postal_Code"]=> string(7) "W12 4LQ" ["Shipping_SameAs_Billing"]=> string(1) "1" ["First_Name_2"]=> string(19) "Nathon Test 1504 06" ["Last_Name_2"]=> string(5) "Jones" ["Email_Address_2"]=> string(24) "admin@ledwarehouseuk.com" ["Phone_Number_2"]=> string(12) "01671 404924" ["Company_Name_2"]=> string(0) "" ["Address_1_2"]=> string(14) "1 Main Terrace" ["Address_2_2"]=> string(0) "" ["Country_2"]=> string(2) "GB" ["State_2_Hidden"]=> string(0) "" ["State_2"]=> string(13) "West Midlands" ["City_2"]=> string(13) "Wolverhampton" ["Postal_Code_2"]=> string(7) "W12 4LQ" ["CheckoutWizard_submit"]=> string(0) "" ["_ga"]=> string(27) "GA1.2.1265700428.1396992615" ["PHPSESSID"]=> string(32) "61570fa65f3b938e8750ce1cc1546534" } ["WAVT_confirmcart_Errors"]=> string(0) "" ["WASF_WA_Payments"]=> array(12) { ["Card_Type"]=> string(7) "Maestro" ["Card_Number"]=> string(16) "6759106074534277" ["Card_Exp_Month"]=> string(1) "3" ["Card_Exp_Year"]=> string(4) "2019" ["Card_Start_Month"]=> string(1) "8" ["Card_Start_Year"]=> string(4) "2012" ["Issue_No"]=> string(1) "2" ["Card_CVV"]=> string(3) "546" ["Payment_submit"]=> string(0) "" ["_ga"]=> string(27) "GA1.2.1265700428.1396992615" ["PHPSESSID"]=> string(32) "61570fa65f3b938e8750ce1cc1546534" ["CardLast4"]=> string(4) "4277" } ["WAVT_confirm_Errors"]=> string(0) "" ["PP_DirectPayment_postedValues"]=> string(2362) "testled_api1.nathonjones.com1397034159AWqYshSunm8L6wf2fZRSi926up.GAdtvGHEXzLdfJYFQdRK2ug21CHOD60.0Sale108.003105WebAssist.eCartPHP.Pro.DPLWP02521051585Nathon Test 1504 061 Main TerraceWolverhamptonWest MidlandsW12 4LQGB01671 404924Maestro675910607453427732019verifiedNathon Test 1504 06Jonesadmin@ledwarehouseuk.comGB
1 Main TerraceWolverhamptonWest MidlandsGBGBW12 4LQ01671 404924
54682012281.156.217.18661570fa65f3b938e8750ce1cc1546534" ["PP_DirectPayment"]=> string(2254) "2014-04-15T07:44:38ZFailurebcae2a3c1646Transaction is not compliant due to missing or invalid 3D-secure authentication valuesTransaction is not compliant due to missing or invalid 3D-secure authentication values12000Error60.010433064108.00" }

Would appreciate your assistance. Thank you.
NJ

Sign in to reply to this post

Jason ByrnesWebAssist

to show those fields only when Maestro is selected you would need to write a javascript function to trigger on the onChange event of the card type select list.

for the validation to happen when maestro is the selected option would also require hand coding. you would need an if statement around the validation for those fields.

the error I believe is caused by the start month format, it needs to MM

so
01
012
etc


We could help you with the hand coding in a premiere support appointment:
http://www.webassist.com/premier_request.php

Sign in to reply to this post

Nathon Jones Web Design

Is the error not relating to 3D Secure Authentication?
We've tried a test with a Visa card and it works just fine (because Visa's don't require 3D Secure Authentication) which suggests that there is no problem with our start month format.

When you say you could help with the hand coding, does that mean you pretty much do it for us bar the actual dropping it into the page/s required?
I have no JavaScript skills (any skills period!)...as you know. ;)

Also, I've noticed that in a test order the "TruePrice" value, required because our unit price has incremental values added to it, isn't being saved to the OrderDetails table, just the regular unit price. Do I need to change a binding there? Which page is that?

Sign in to reply to this post

Jason ByrnesWebAssist

to use 3d secure, you need to sign up with them to have an account.

then on the confirm page, edit the local checkout server behavior, on the 4th page, add these 4 variables by clicking the plus button:

AUTHSTATUS3DS
MPIVENDOR3DS
CAVV
ECI3DS
XID

and use the values provided by the 3d secure service

Yes, in the Premier support appointment we will do a screen sharing session and implement the code teaching you what we are doing along the way.

for the order details, edit the store order details behavior on the Confirm and on the pp_confirm page to bind the price to the true price.

Sign in to reply to this post

Nathon Jones Web Design

That's 5 variables, not 4. Should it be 4 or 5?

When would suit you for the Premier support assistance session?

Thank you
NJ

Sign in to reply to this post

Jason ByrnesWebAssist

yes, it should be 5.


sign up for a premiere appointment here:
http://www.webassist.com/premier_request.php

you will then be contacted to set the appointment time.

Sign in to reply to this post

Nathon Jones Web Design

I've signed up with Cardinal Commerce / Cardinal Sentinel as per instructions from PayPal with regard to 3D Secure Authentication. What should each of these fields map to?

AUTHSTATUS3DS
MPIVENDOR3DS
CAVV
ECI3DS
XID

The only thing, within the Cardinal Commerce control panel, that resembles any of the above is "CAVV/XID Format" which is listed as "Base64 Encoded".

I've requested Centinel Integration software and documentation for:
Verified by Visa
MasterCard SecureCode
Maestro

...do I just need to wait for them to send me details for the 5 variables you've listed? They've sent us a PDF for "Cashie - WebAssist Setup Guide" but it doesn't relate to what I'm seeing in eCart (attached).

Would appreciate your advice. Thank you.

Regarding the Premier Support we've requested, is it ok to run through as much stuff as possible during that session so that we can iron out absolutely everything and, finally, get this project moving?

Thank you.
NJ

Sign in to reply to this post
loading

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question

Content

rating

Layout

rating

Ease of use

rating

security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...