I am having issues when I try to place test orders on our developer site.
PayPal Payflow Pro Gateway issue:
When i try to complete the test order from the OPAY screen in checkout It gives me this error: "Unable to authorize payment: Under review by Fraud Service". The order does not go through on the backend and it just stays on the OPAY screen.
Here is the code for the OPAY screen:
For Amazon Pay, when the complete order button is clicked from the AMAZONPAY_OPAY page, it gives me this error: "Runtime error in mm5/5.00/modules/component/cmp-cssui-breadcrumbs.mvc @ [00000011:00000ee2]: modules/component/cmp-cssui-breadcrumbs.mv: Line 419: (in expression): Array index must be positive integer".
It does not bring you to the INVC page, although it does process the order and an order number is assigned. No merchant emails or customer invoice emails are sent though which is another issue.
This is the code for the AMAZONPAY_OPAY page:
Now for PayPal Express checkout and/or PayPal Payments Pro you click on the paypal button from the BASK screen just like Amazon Pay. You log in and then you're redirected to the OSCT screen with your address information already filled out. You then go to step 2 on the OSEL page where you select the shipping method and the only available payment method is PayPal so all of that appears to be working just fine.
Once you get to the OPAY screen all you have to do is click Complete Order. When that is clicked we get a similar error and behavior as Amazon Pay.
The error: "Runtime error in mm5/5.00/modules/component/cmp-cssui-breadcrumbs.mvc @ [00000011:00000ee2]: modules/component/cmp-cssui-breadcrumbs.mv: Line 419: (in expression): Array index must be positive integer"
It also like Amazon Pay does not bring you to the INVC page, although it does process the order and an order number is assigned. No merchant emails or customer invoice emails are sent though which is another issue.
The Code for the OPAY screen is above.
Any Help on these issues would be greatly appreciated.
Thanks in advance.
-Nick Harkins
PayPal Payflow Pro Gateway issue:
When i try to complete the test order from the OPAY screen in checkout It gives me this error: "Unable to authorize payment: Under review by Fraud Service". The order does not go through on the backend and it just stays on the OPAY screen.
Here is the code for the OPAY screen:
Code:
<mvt:item name="html_profile" /> <head> <mvt:if expr="NOT ISNULL l.settings:page:title"> <title>&mvt:page:title;</title> <mvt:else> <title>&mvt:store:name;: &mvt:page:name;</title> </mvt:if> <mvt:item name="head" param="head_tag" /> <mvt:if expr="l.settings:payment:capabilities:split"> <script type="text/javascript"> function AmountType_Changed( amounttype ){ var balance_amount, amount, additional; balance_amount = document.getElementById( 'payment-balance-amount' ); amount = document.getElementById( 'payment-amount' ); additional = document.getElementById( 'payment-additional' ); if ( amounttype === 'total' ) { amount.disabled = true; additional.style.display = 'none'; if ( balance_amount ) { balance_amount.disabled = true; } } else if ( amounttype === 'balance' ) { amount.disabled = true; additional.style.display = ''; if ( balance_amount ) { balance_amount.disabled = false; } } else if ( amounttype === 'partial' ) { amount.disabled = false; additional.style.display = ''; if ( balance_amount ) { balance_amount.disabled = true; } } } </script> </mvt:if> </head> <body id="js-&mvte:page:code;" class="<mvt:eval expr="tolower(l.settings:page:code)" /> single-column"> <mvt:item name="hdft" param="global_header" /> <mvt:item name="html_profile" /> <div class="row hdft-header"> <mvt:item name="hdft" param="header" /> </div> <div class="row main-content-row"> <div class="column whole cart-contents"> <form method="post" action="&mvt:payment:url;" id="js-opay-form" class="clearfix"> <input type="hidden" name="Action" value="AUTH" /> <input type="hidden" name="Screen" value="INVC" /> <input type="hidden" name="Store_Code" value="&mvte:global:Store_Code;" /> <mvt:item name="payment" /> <input type="hidden" name="PaymentMethod" value="&mvte:global:PaymentMethod;" /> <input type="hidden" name="SplitPaymentData" value="&mvte:global:SplitPaymentData;" /> <input type="hidden" name="PaymentDescription" value="&mvte:payment:desc;" /> <div> <p class="column whole h4 fields-heading" style="background:#e8e8e8;margin-bottom:0"><span class="icon-icon_lock"></span> Payment Method: &mvt:payment:desc;</p> </div> <div class="column whole bg-lt-gray ptp1 pbm1 mbm1-25"> <div class="column whole medium-half"> <mvt:if expr="NOT ISNULL l.settings:payment:desc"> <span class="bold"></span> </mvt:if> <mvt:if expr="NOT ISNULL l.settings:payment:message"> <p class="column whole">&mvt:payment:message;</p> </mvt:if> <mvt:if expr="l.settings:paymentsettings:mivapay:enabled AND ( l.settings:mivapay:paymentcardtype:id OR l.settings:mivapay:paymentcard:id )"> <div class="form-row"> <mvt:item name="mivapay" /> </div> <mvt:elseif expr="'brain' CIN g.PaymentMethod"> <mvt:foreach array="payment:fields" iterator="field"> <div class="form-row"> <mvt:item name="payment" param="field:code" /> </div> </mvt:foreach> <mvt:else> <mvt:foreach array="payment:fields" iterator="field"> <div id="js-&mvt:field:code;" class="form-row"> <mvt:if expr="l.settings:field:invalid"> <label class="required error">&mvt:field:prompt;</label> <mvt:else> <label class="required">&mvt:field:prompt;</label> </mvt:if> <div class="&mvt:field:code;"><mvt:item name="payment" param="field:code" /></div> </div> </mvt:foreach> </mvt:if> <mvt:if expr="l.settings:payment:capabilities:split"> <div class="form-row"> <mvt:if expr="g.Amount_Invalid"> <label class="required error">Payment Amount:</label> <mvt:else> <label class="required">Payment Amount:</label> </mvt:if> <div id="payment-amount-fields"> <mvt:if expr="( NOT l.settings:payment:capabilities:balance ) OR ( l.settings:payment:balance GE l.settings:splitpayment:remaining )"> <mvt:if expr="NOT g.UI_Exception"> <mvt:assign name="g.AmountType" value="'total'" /> <mvt:assign name="g.Amount" value="l.settings:splitpayment:remaining ROUND 2" /> </mvt:if> <mvt:if expr="g.AmountType EQ 'total'"> <input type="radio" name="AmountType" value="total" onclick="AmountType_Changed( this.value );" checked /> <mvt:else> <input type="radio" name="AmountType" value="total" onclick="AmountType_Changed( this.value );" /> </mvt:if> <mvt:if expr="NOT ISNULL l.settings:payment:split_data"> Remaining Order Total (&mvt:payment:formatted_remaining;)<br /> <mvt:else> Entire Order Total (&mvt:basket:formatted_total;)<br /> </mvt:if> <mvt:else> <mvt:if expr="NOT g.UI_Exception"> <mvt:assign name="g.AmountType" value="'balance'" /> <mvt:assign name="g.Amount" value="l.settings:payment:balance ROUND 2" /> </mvt:if> <mvt:if expr="g.AmountType EQ 'balance'"> <input type="radio" name="AmountType" value="balance" onclick="AmountType_Changed( this.value );" checked /> <input type="hidden" id="payment-balance-amount" name="Amount" value="&mvte:payment:balance;" /> <mvt:else> <input type="radio" name="AmountType" value="balance" onclick="AmountType_Changed( this.value );" /> <input type="hidden" id="payment-balance-amount" name="Amount" value="&mvte:payment:balance;" disabled /> </mvt:if> Available Balance (&mvt:payment:formatted_balance;)<br /> </mvt:if> <mvt:if expr="g.AmountType EQ 'partial'"> <input type="radio" name="AmountType" value="partial" onclick="AmountType_Changed( this.value );" checked /> Partial: <input type="text" id="payment-amount" name="Amount" value="&mvte:global:Amount;" /> <mvt:else> <input type="radio" name="AmountType" value="partial" onclick="AmountType_Changed( this.value );" /> Partial: <input type="text" id="payment-amount" name="Amount" value="&mvte:global:Amount;" disabled /> </mvt:if> </div> </div> <mvt:if expr="g.AmountType EQ 'total'"> <mvt:assign name="g.totalPayment" value="'display: none;'" /> </mvt:if> <div id="payment-additional" style="&mvt:global:totalPayment;"> <div class="form_row"> <label class="required">Pay Additional Balance With:</label> <select name="AdditionalPaymentMethod"> <mvt:foreach array="paymentmethods" iterator="method"> <mvt:if expr="(l.settings:method:module NE 'customercredit') OR ((g.PaymentMethod NE 'customercredit:credit') AND (NOT miva_array_search(l.settings:splitpayment:splits, 1, l.split, 'l.split:module:code EQ l.settings:method:module')))"> <mvt:if expr="l.settings:method:paymentcard:id"> <option value="paymentcard:&mvte:method:paymentcard:id;">&mvt:method:name;</option> <mvt:elseif expr="l.settings:method:paymentcardtype:id"> <option value="paymentcardtype:&mvte:method:paymentcardtype:id;">&mvt:method:name;</option> <mvt:else> <option value="&mvte:method:module;:&mvte:method:code;">&mvt:method:name;</option> </mvt:if> </mvt:if> </mvt:foreach> </select> </div> </div> </mvt:if> </div> </div> <div class="breaker"></div> <div> <div class="column whole align-center np"> <mvt:if expr="l.settings:paymentsettings:mivapay:enabled AND ( l.settings:mivapay:paymentcardtype:id OR l.settings:mivapay:paymentcard:id )"> <script> var onclick_submit = function( event ) { if ( MivaPay && ( typeof MivaPay.Submit === 'function' ) ) { MivaPay.Submit( function() { var form; form = document.getElementById( 'js-opay-form' ); form.submit(); } ); } } </script> <span onclick="onclick_submit(); return false;"> <input class="button button-large-font corners bg-sky" type="submit" value="Complete Order" title="Complete Order"> <p class="ptp1"><span id="siteseal"><script type="text/javascript" src="https://seal.godaddy.com/getSeal?sealID=O77iPdMF08ACXGhM5cEzqTjCiEH72r6dwXCQDC3RAcc0NWC6cK"></script></span></p> <p><script src="https://sealserver.trustwave.com/seal.js?style=invert&size=65x36&code=f6e634926e664239a5a4daf7f9938bee"></script></span></p> </span> <mvt:elseif expr="'brain' CIN g.PaymentMethod"> <input class="button button-large-font corners bg-sky" type="submit" value="Complete Order" title="Complete Order"> <p class="ptp1"><span id="siteseal"><script type="text/javascript" src="https://seal.godaddy.com/getSeal?sealID=O77iPdMF08ACXGhM5cEzqTjCiEH72r6dwXCQDC3RAcc0NWC6cK"></script></span></p> <p><script src="https://sealserver.trustwave.com/seal.js?style=invert&size=65x36&code=f6e634926e664239a5a4daf7f9938bee"></script></span></p> <mvt:else> <input class="button button-large-font corners bg-sky" type="submit" value="Complete Order" title="Complete Order"> <p class="ptp1"><span id="siteseal"><script type="text/javascript" src="https://seal.godaddy.com/getSeal?sealID=O77iPdMF08ACXGhM5cEzqTjCiEH72r6dwXCQDC3RAcc0NWC6cK"></script></span></p> <p><script src="https://sealserver.trustwave.com/seal.js?style=invert&size=65x36&code=f6e634926e664239a5a4daf7f9938bee"></script></span></p> </mvt:if> </div> </div> <div class="breaker"></div> </form> </div> <div class="column whole cart-summary"> <div id="js-toggle-cart-summary-contents" class="basket-header-row align-center">Cart Summary <span>▼</span></div> <div id="js-cart-summary-contents"> <mvt:item name="basket" /> <mvt:item name="customer" /> </div> </div> </div> <div class="row hdft-footer"> <mvt:item name="hdft" param="footer" /> </div> <mvt:item name="hdft" param="global_footer" /> </body> </html>
For Amazon Pay, when the complete order button is clicked from the AMAZONPAY_OPAY page, it gives me this error: "Runtime error in mm5/5.00/modules/component/cmp-cssui-breadcrumbs.mvc @ [00000011:00000ee2]: modules/component/cmp-cssui-breadcrumbs.mv: Line 419: (in expression): Array index must be positive integer".
It does not bring you to the INVC page, although it does process the order and an order number is assigned. No merchant emails or customer invoice emails are sent though which is another issue.
This is the code for the AMAZONPAY_OPAY page:
Code:
<mvt:item name="html_profile" /> <head> <mvt:if expr="NOT ISNULL l.settings:page:title"> <title>&mvt:page:title;</title> <mvt:else> <title>&mvt:store:name;: &mvt:page:name;</title> </mvt:if> <mvt:item name="head" param="head_tag" /> <mvt:item name="amazonpay" /> </head> <body id="js-&mvte:page:code;" class="<mvt:eval expr="tolower(l.settings:page:code)" /> single-column"> <mvt:item name="hdft" param="global_header" /> <mvt:item name="html_profile" /> <div class="row hdft-header"> <mvt:item name="hdft" param="header" /> </div> <div class="row main-content-row"> <div class="whole cart-contents"> <form method="post" action="&mvt:payment:url;" id="js-opay-form" class="clearfix"> <input type="hidden" name="Action" value="AUTH" /> <input type="hidden" name="Screen" value="INVC" /> <input type="hidden" name="Store_Code" value="&mvte:global:Store_Code;" /> <div class="column whole medium-half mbm1-25"> <p class="h4 fields-heading"><span class="icon-icon_lock"></span> Select Amazon Payment Method Below</p> <mvt:item name="amazonpay_wallet" /> </div> <div class="column whole medium-half mbm1-25"> <p class="h4 fields-heading">Amazon Shipping Address</p> <mvt:item name="amazonpay_address" /> </div> <input type="hidden" name="PaymentMethod" value="&mvte:global:PaymentMethod;" /> <input type="hidden" name="PaymentAuthorizationToken" value="&mvte:global:Basket:auth_token;" /> <div class="column whole align-center np"> <input class="button button-large-font corners bg-sky" type="submit" value="Complete Order" title="Complete Order"> <p class="ptp1"><span id="siteseal"><script type="text/javascript" src="https://seal.godaddy.com/getSeal?sealID=O77iPdMF08ACXGhM5cEzqTjCiEH72r6dwXCQDC3RAcc0NWC6cK"></script></span></p> <p><script src="https://sealserver.trustwave.com/seal.js?style=invert&size=65x36&code=f6e634926e664239a5a4daf7f9938bee"></script></span></p> </div> </form> </div> <div class="column whole cart-summary"> <div id="js-toggle-cart-summary-contents" class="basket-header-row align-center">Cart Summary <span>▼</span></div> <div id="js-cart-summary-contents"> <mvt:item name="basket" /> </div> </div> </div> <div class="row hdft-footer"> <mvt:item name="hdft" param="footer" /> </div> <mvt:item name="hdft" param="global_footer" /> </body> </html>
Now for PayPal Express checkout and/or PayPal Payments Pro you click on the paypal button from the BASK screen just like Amazon Pay. You log in and then you're redirected to the OSCT screen with your address information already filled out. You then go to step 2 on the OSEL page where you select the shipping method and the only available payment method is PayPal so all of that appears to be working just fine.
Once you get to the OPAY screen all you have to do is click Complete Order. When that is clicked we get a similar error and behavior as Amazon Pay.
The error: "Runtime error in mm5/5.00/modules/component/cmp-cssui-breadcrumbs.mvc @ [00000011:00000ee2]: modules/component/cmp-cssui-breadcrumbs.mv: Line 419: (in expression): Array index must be positive integer"
It also like Amazon Pay does not bring you to the INVC page, although it does process the order and an order number is assigned. No merchant emails or customer invoice emails are sent though which is another issue.
The Code for the OPAY screen is above.
Any Help on these issues would be greatly appreciated.
Thanks in advance.
-Nick Harkins
Comment