Results 1 to 10 of 679

Hybrid View

  1. #1
    Join Date
    Nov 2023
    Location
    Hounslow
    Posts
    131
    Plugin Contributions
    0

    Default Re: Stripe.com payment integration module

    Hi Numinix,


    I have found the current Stripe plugin to be sending the wrong amount to Stripe, it is sending the befor order total discount (that's the shopping cart subtotal)and before coupon discount total (the checkout total).


    So I have been working on a new Stripe plugin which I'm trying to get to work like this:
    client fills card details in on checkout payment page under payment method while the page submit main form is stopped from submitting then once received token response from stripe (checkout payment page url is set as return url) (no payment is taken on this page we send checkout total before coupon total) release the main form to be submittable again so they can enter coupon code and submit the main form. (which is the only time we get to know how much the coupon is worth if any). Then on the checkout confirmation page (again we still don't know the coupon cost until the page loads and it has to refreshes again) we show under the confirmation payment method, order details with the total order value (inc all coupon and discount) and a Pay $xx.xx Now button for the customer to pay without the page submitting as again we have to stop the main page from submitting.
    (also let's not go into why on the confirmation page clients still get the chance to amend the hole order, when does Zen Cart give the payment method a fixed unchangeable total! yep on the success page a bit late on that payment should of been made by then actully by confirmation page/section).


    and that is just to have a good flow looking checkout for the client on the 3 page checkout and for the one-page-checkout plugin it is much the same as the one thing they have overlooked is payment method plugin's have two parts to taking a payment one is the payment method select box and the second is the confirm payment method box (which is the box the data should be entered in to). so one-checkout should include the confirmation payment box from the confirmation page and have it listed under the select payment method box.


    so whit that in mid,
    I have got your Fast and Easy Checkout plugin I'm just in the middle of installing and updating for Zc v1.5.8 then make the checkout flow as it should be and integrate Stripe in to it as it should be then ask you if you can test it on your paid for Ajax Fast and Easy Checkout's then we we have a checkout working with and for Stripe and as to the other main and or one-checkout to work with my Stripe plugin the Zen Cart team and or one-checkout maker will have to amind there flow to be compatible.


    So my question to you is would you like to help out on getting all this working and I will offer the Stripe-Plugin and you can offer the Fast and Easy Checkout (all 3 grades of it).
    Last edited by OJ_SIMON; 24 May 2024 at 09:50 AM.

  2. #2
    Join Date
    Jul 2021
    Location
    Fukuoka Japan
    Posts
    132
    Plugin Contributions
    2

    Default Re: Stripe.com payment integration module

    Sorry for not updating recently.
    I've been busy with work and haven't been able to do anything.

    www\includes\modules\payment\stripe.php line 146

    $amount_total=round($order->info['total']*$order->info['currency_value'],$decimal_places)*$multiplied_by;

    I think it will be OK if you change it to the code below, but I haven't tested it.

    if (MODULE_ORDER_TOTAL_INSTALLED) {
    $order_totals = $order_total_modules->process();
    $c = count($order_totals);
    $c -= 1;
    $order_value = $order_totals[$c]['value'];
    } else{
    $order_value = $order->info['total'];
    }

    $amount_total=round($order_value * $order->info['currency_value'],$decimal_places)*$multiplied_by;


  3. #3
    Join Date
    Jul 2021
    Location
    Fukuoka Japan
    Posts
    132
    Plugin Contributions
    2

    Default Re: Stripe.com payment integration module

    1.
    www\includes\modules\payment\stripe.php line 119
    change the code from
    global $order, $db,$stripeCustomerID,$user_id,$stripe_select;
    to
    global $order, $db,$stripeCustomerID,$user_id,$stripe_select,$order_total_modules;

    2.
    www\includes\templates\YOUR_TEMPLATE\templates\tpl_checkout_confirmation_default .php
    You have to find following code and delete it.

    <?php
    if (MODULE_ORDER_TOTAL_INSTALLED) {
    $order_totals = $order_total_modules->process();
    ?>

  4. #4
    Join Date
    Jul 2017
    Location
    West Midlands, UK
    Posts
    51
    Plugin Contributions
    1

    Default Re: Stripe.com payment integration module

    Hi,
    Thank you for offering the updated stripe payments module. We would like to add apple pay to our site and stripe seems like the best option. We have installed the mod on a test site and noticed a couple of issues during testing.

    1) When using one page checkout (OPC) the stripe form is not appearing. This has been mentioned by other users and I believe strelitzia may have found a possible fix. I have tried adding the javascript files to OPC pages but it still did not work.

    2) We noticed the path through payment process doesn’t seem to follow the usual checkout procedure. Payment modules often have a process similar to the following: customer clicks confirm at checkout_confirmation page – then on a new page card details are entered – customer is then sent to checkout_process page – if payment is successful customer will be redirected automatically to checkout_success page.

    We are unsure why the $confirmationURL in create.php has been set to the checkout_confirmation page. I believe this should ideally be the checkout_process or checkout_success page.

    As mentioned in post 307 the stripe dashboard shows an incomplete payment for every successful one. This could be because the customer is redirected from checkout_confirmation to checkout_confirmation when completing a stripe payment.

    There is an informative post from DrByte on another thread in 2015 which explains the usual path through payment process.

    If the checkout procedure for the mod could be amended it may remove the need to hide the confirm order button as mentioned in post 310.

    Several core file edits/overrides are made, particularly to the checkout_confirmation page. If card details were entered on a separate (new) page the mod may not need core file edits - making it easier to install and could help avoid integration issues.

    I’m sure apple pay and google pay would be a popular feature with customers – particularly if they could be used with the guest checkout feature of OPC.

    If anyone can offer advice or help to resolve either of these issues it would be much appreciated.
    Many thanks
    Richard

  5. #5
    Join Date
    Jul 2021
    Location
    Fukuoka Japan
    Posts
    132
    Plugin Contributions
    2

    Default Re: Stripe.com payment integration module

    > When using one page checkout (OPC) the stripe form is not appearing. This has been mentioned by other users and I believe strelitzia may have found a possible fix. I have tried adding the javascript files to OPC pages but it still did not work.

    I haven't tried OPC, so I haven't confirmed it, but maybe
    You need to place the following script code in the header of the page that displays the Stripe form.
    This is \includes\modules\pages\checkout_confirmation\jscript_stripe.php.
    If you place the codes in OPC's header, I think the stripe form will be displayed.

    <?php if(MODULE_PAYMENT_STRIPE_STATUS === 'True' && $stripe_select == 'True' ) {?>
    <link rel="stylesheet" href="checkout_confirmation.css" />
    <script src="https://js.stripe.com/v3/"></script>
    <script src="includes/checkout.js" defer></script>
    <?php } ?>


    > We noticed the path through payment process doesn’t seem to follow the usual checkout procedure. Payment modules often have a process similar to the following: customer clicks confirm at checkout_confirmation page – then on a new page card details are entered – customer is then sent to checkout_process page – if payment is successful customer will be redirected automatically to checkout_success page.


    I have the same opinion.
    The reason why I chose this unnatural process is because
    The form provided by Stripe and payment button must be the same page.
    Additionally, by using the Stripe form, the credit information are directly sent to the Stripe server, resolving the risk of using the $_GET or $_POST function during payment.

    > We are unsure why the $confirmationURL in create.php has been set to the checkout_confirmation page. I believe this should ideally be the checkout_process or checkout_success page.


    The following variables in create.php are used in \includes\checkout.js.
    Clients 
    PublishableKey
    confirmationURL
    PaymentSuccess
    Also, checkout.js is used for the checkout_confirmation page.


    > As mentioned in post 307 the stripe dashboard shows an incomplete payment for every successful one. This could be because the customer is redirected from checkout_confirmation to checkout_confirmation when completing a stripe payment.


    exactly.
    After pressing the order confirm button, \includes\modules\payment\stripe.php and create.php are reprocessed.
    as the result incomplete payment is added.

  6. #6
    Join Date
    Jul 2017
    Location
    West Midlands, UK
    Posts
    51
    Plugin Contributions
    1

    Default Re: Stripe.com payment integration module

    Hi Gozzandes
    Many thanks for your reply. I have uploaded the suggested code (jscript_stripe.php) to includes/modules/pages/checkout_one but unfortunately it still did not appear.

    When checking the browser web developer console the javascript did not load.

    For testing purposes I removed the following code:
    if(MODULE_PAYMENT_STRIPE_STATUS === 'True' && $stripe_select == 'True' )

    The javascript now loads in the web developer console but the stripe form does not display.

    An error is now displayed in the console: ReferenceError: Can't find variable: PublishableKey

    This suggests that the includes/modules/payments/stripe.php file may not be loading correctly when using OPC.

    It would be much appreciated if anyone could help advise why OPC seems unable to load the files required by the stripe module. Perhaps lat9 or strelitzia may be able to help.

    Many thanks
    Richard

  7. #7
    Join Date
    Jul 2021
    Location
    Fukuoka Japan
    Posts
    132
    Plugin Contributions
    2

    Default Re: Stripe.com payment integration module

    I'll explan flow of the credit Card Information.

    1. Check out payment page(Step 2 of 3 -Payment Information)
    Select "Stripe Payments : Crédit Card" and click "Continue" button.
    and call Payment module.
    2. Payment module
    \includes\modules\payment\Stripe.php
    line 121 to 129 =>Call Stripe publishable key and secret key.
    line 131 to 146 =>Calculate currency Information.
    line 146 to 154 =>Enter customer and order information into variables.
    line 156 call create.php
    \includes\modules\payment\stripepay\create.php
    line 8 to 46=>Create Stripe paymentintent.
    line 49 to 58=>Extract Stripe Client secret.
    Variable Client secret
    PHP : $clientS_json
    Script : ClientS
    3. checkout_confirmation page(Step 3 of 3 - Order Confirmation)
    Following files are opened.
    \includes\templates\YOUR_TEMPLATE\templates\tpl_checkout_confirmation_default.ph p
    \includes\modules\pages\checkout_confirmation\jscript_stripe.php
    \includes\checkout.js
    and Stripe form displayed.

    \includes\templates\YOUR_TEMPLATE\templates\tpl_checkout_confirmation_default.ph p
    line 167 to 177 Stripe form
    line 196 to 206 If Stripe ClientS exist, original zen cart confirm button will not be displayed and Stripe button will be displayed.
    4. Push Stripe confirm button.
    Payment succeeded : Goto \includes\checkout.js line 75. and original zen cart confirm button will be clicked.

    If you want to Display Stripe form, Stripe form Needs Client secret (ClientS) before opeing.
    Client secret requests order total,currency,customer Name and payment methods.

    Based on the flow above, when using OPC, Client secret should be generated after clicking the checkout button.

    You need to create a file in \includes\modules\pages\checkout_payment\ folder that contains the code to display the stripe form.

 

 

Similar Threads

  1. pay2check.com payment module?
    By sunrise99 in forum Addon Payment Modules
    Replies: 0
    Last Post: 1 Nov 2011, 03:55 AM
  2. klikandpay.com payment module
    By rulest in forum Addon Payment Modules
    Replies: 0
    Last Post: 24 Sep 2010, 06:06 PM
  3. AlertPay Payment Module Integration Help Please!
    By etorf9751 in forum Addon Payment Modules
    Replies: 8
    Last Post: 16 Aug 2010, 05:06 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
disjunctive-egg