Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

mhsuffolk

Members
  • Content count

    480
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by mhsuffolk


  1. I also have code in the PayPal app that prevents PayPal appearing as an option if the customer has ever used another payment method. So if they have only used PayPal in the past, or they are a new customer, they can still do so, if they have ever used Stripe or something else it does not give the the option of choosing PayPal.


  2. I call it "Debit and Credit Cards"

    With the Stripe SCA module the customer never sees the Stripe branding unless you have your Stripe account set up to send receipts direct to your customer.


  3. Stripe inserts a place holder into your payments page. Despite appearing on your website the input fields are hosted by Stripe so card data is never on your server and your customer never leaves your site.

    Full PCI compliance is provided automatically by Stripe providing you have a SSL so there are no lengthy forms to fill in..

    I find their service reliable and far cheaper than PayPal.


  4. On 10/28/2020 at 12:18 PM, raiwa said:

    Full version 1.0.16 for all previous OSC and Phoenix versions
    Changes 1.0.16
    - Fixed javascript error to allow to save cards

    Thank you again for maintaining this excellent addon.

    I have Phoenix 1.0.5.0 with Stripe SCA V 1.0.16r1

    However the "All previous versions" folder is labelled v1.0.17 which according to the changelog is for 1.0.5.1 only.

    Do I need to update and if so which version do I use?


  5. Many customers do not know where they live.

    I have had, entering the incorrect Postal Town or using the village name instead. Giving me the Post Code for their previous address, and cramming the entire address into Address Line 1 with a random entry in the City field are just a few examples.


  6. Developments.. Large amount of heel digging by me.

    Transcript of Chat.

    OK. I have a duplicated transaction of £44.22 for the first time ever using CE Phoenix (Oscommerce) with their Stripe approved SCA Addon. Yesterday another user reported the same issue to you and you stated that no one else had had the issue, but now I have. There is error text in the first one Error message "message": "This PaymentIntent's amount could not be updated because it has a status of succeeded. You may only update the amount of a PaymentIntent with one of the following statuses: requires_payment_method, requires_confirmation, requires_action." "type": "invalid_request_error"

    J

    I'm currently reading your inquiry, give me a few minutes while I pull up your information.

    OK

    J

    To clarify you were using the Stripe plugin from CE Phoenix (Oscommerce), is that correct?

    Yes. It has worked flawlessly for nearly a year up to now

    J

    In this case, to update the integration, I wish I could be of a bit more help here, but since CE Phoenix (Oscommerce) built their integration with Stripe, they’ll be best able to help you with this directly.

    Me

    I understand, but nothing has changed in the Phoenix software. I and the other users update it ourselves when there is a new version released. So something must have changed at the Stripe end of the process. This is too much of a coincidence.

     

    J

    It looks like there was indeed more than one payment made by this customer. It’s possible that this customer may have gone through your checkout flow a second time, or they may have clicked “Pay” more than once while awaiting confirmation.

     

    Me

    Possibly BUT, only one instance of the order in Phoenix exists, only one Webhook response exists against the order and it is timed at 21.35 which is the first payment. The second one is 21.38 which presumably is your system trying again. The customer would have received an email confirmation immediately so why click a second time. She would have had to create a second order to achieve this anyway.

     

    J

    I'm afraid that this wouldn't be an issue we could best help with in chat, but I’d be happy to create a support request for you and have one of my colleagues follow up via email shortly. Is that ok with you?

     

    Ah, the email has just arrived, I will report back.

     


  7. 21 hours ago, 14steve14 said:

    I hope someone else is having this problem with Stripe.

    I have had one yesterday, the two payments were 4 minutes apart and the first one although completing the payment has this error.

    Error message
    "message": "This PaymentIntent's amount could not be updated because it has a status of succeeded. You may only update the amount of a PaymentIntent with one of the following statuses: requires_payment_method, requires_confirmation, requires_action."
    "type": "invalid_request_error"
     
    I can see that both payments are coming to my Bank, now going to contact Stripe

  8. Does your PayPal work as expected and does it capture payments, complete the order correctly and the funds appear in your PP account? If so, forget that error. That test will fail on ALL sites now and is not required.

    However you still need TLS v 1.2


  9. I have random issues with it. As @14steve14 I see this in admin on the order page sometimes and it reflects in the invoice. It is not consistent but it never happens if there is only one item in the order, but the emails are always correct. It is only Stripe that does this.

    Update. Just realised I have not had one since the update was applied. I will keep you updated.


  10. 3 hours ago, radhavallabh said:

    Hi dear the addon has got incompatible with 1.0.5.3 now...

    In includes/classes/seo.class.php find Line 779

        if ( (SEARCH_ENGINE_FRIENDLY_URLS == 'true') && ($search_engine_safe == true) ) {
          while (strstr($link, '&&')) $link = str_replace('&&', '&', $link);
          $link = str_replace('?', '/', $link);
          $link = str_replace('&', '/', $link);
          $link = str_replace('=', '/', $link);
          $separator = '?';
        }

    Change to

    // BOF Removal of SEFURLs
    /*    if ( (SEARCH_ENGINE_FRIENDLY_URLS == 'true') && ($search_engine_safe == true) ) {
          while (strstr($link, '&&')) $link = str_replace('&&', '&', $link);
          $link = str_replace('?', '/', $link);
          $link = str_replace('&', '/', $link);
          $link = str_replace('=', '/', $link);
          $separator = '?';
        } */
    // EOF Removal of SEFURLs 

    Works for me.


  11. 6 minutes ago, raiwa said:

    DId this happen with the former version 1.0.14 also?

    No.

    I did have 1.0.14 working correctly on 1.0.5.2 but with the

    tep_notify('checkout', $order);

    amendment from the previous posts.


  12. Phoenix 1.0.5.2 on XAMPP  Stripe 1.0.15

    Test mode is not implemented correctly. Although in admin it correctly adds (Test) to the module name it should do this on the account.php and in the payment module list during checkout.as well.

    When I try a test transaction it fails because stripe says that I am trying to use a live transaction " No such customer: cus_***************t; a similar object exists in test mode, but a live mode key was used to make this request" If I enter the test card number manually it declines the card.

    In my Stripe dashboard all the errors are shown in the live section, there is no activity in the test section.


  13. 28 minutes ago, raiwa said:

    ONLY for Phoenix 1.0.5.1+

    Ignoring this forum and just looking in the addons market, it is not clear to newbies that this version will not work on 1.0.5.0 and below. Suggestion, could you add a message in the readme and the description?


  14. 2 minutes ago, raiwa said:

    Can you please post your modified file and I'll try to find time to test and update the package.

    Find in includes/modules/payment/stripe_sca.php

    // lets start with the email confirmation
                $email_order = STORE_NAME . "\n" .
                        EMAIL_SEPARATOR . "\n" .
                        EMAIL_TEXT_ORDER_NUMBER . ' ' . $order_id . "\n" .
                        EMAIL_TEXT_INVOICE_URL . ' ' . tep_href_link('account_history_info.php', 'order_id=' . $order_id, 'SSL', false) . "\n" .
                        EMAIL_TEXT_DATE_ORDERED . ' ' . strftime(DATE_FORMAT_LONG) . "\n\n";
                if ($order->info['comments']) {
                    $email_order .= tep_db_output($order->info['comments']) . "\n\n";
                }
                $email_order .= EMAIL_TEXT_PRODUCTS . "\n" .
                        EMAIL_SEPARATOR . "\n" .
                        $products_ordered .
                        EMAIL_SEPARATOR . "\n";
    
                for ($i = 0, $n = sizeof($order_totals); $i < $n; $i++) {
                    $email_order .= strip_tags($order_totals[$i]['title']) . ' ' . strip_tags($order_totals[$i]['text']) . "\n";
                }
    
                if ($order->content_type != 'virtual') {
                    $email_order .= "\n" . EMAIL_TEXT_DELIVERY_ADDRESS . "\n" .
                            EMAIL_SEPARATOR . "\n" .
                            tep_address_format($order->delivery['format_id'], $order->delivery, false, '', "\n") . "\n";
                }
    
                $email_order .= "\n" . EMAIL_TEXT_BILLING_ADDRESS . "\n" .
                        EMAIL_SEPARATOR . "\n" .
                        tep_address_format($order->billing['format_id'], $order->billing, false, '', "\n") . "\n\n";
    
                $email_order .= EMAIL_TEXT_PAYMENT_METHOD . "\n" .
                        EMAIL_SEPARATOR . "\n";
                $email_order .= $this->title . "\n\n";
                if ($this->email_footer) {
                    $email_order .= $this->email_footer . "\n\n";
                }
    
                tep_mail($order->customer['name'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
    
    // send emails to other people
                if (SEND_EXTRA_ORDER_EMAILS_TO != '') {
                    tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, EMAIL_TEXT_SUBJECT, $email_order, $order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['email_address']);
                }

    Replace with

    // lets start with the email confirmation
    	tep_notify('checkout', $order);

    This is for 1.0.5.1 only. It will break in 1.0.5.0  Thanks also to @ecartz for the suggestion.


  15. 21 hours ago, ecartz said:

    and replace it with

    
      tep_notify('checkout', $order);

    That appears to have worked. I cannot test it fully yet as the webhook cannot respond to my XAMPP test store and fails. The emails send correctly.

    I cannot update my live 1.0.5.0 store to 1.0.5.1 until most of my addons have been updated.


  16. 6 minutes ago, raiwa said:

    For now, if you wants to try, compare to the changes in the core module and try to apply them.

    I had a go but the core file has vast differences around that area. Winmerge showed a large number of lines missing.

    These are the lines in question that I think need changing starting with line 498

                            tep_address_format($order->delivery['format_id'], $order->delivery, false, '', "\n") . "\n";
                }
    
                $email_order .= "\n" . EMAIL_TEXT_BILLING_ADDRESS . "\n" .
                        EMAIL_SEPARATOR . "\n" .
                        tep_address_format($order->billing['format_id'], $order->billing, false, '', "\n") . "\n\n";
    
                $email_order .= EMAIL_TEXT_PAYMENT_METHOD . "\n" .
                        EMAIL_SEPARATOR . "\n";
                $email_order .= $this->title . "\n\n";
                if ($this->email_footer) {
                    $email_order .= $this->email_footer . "\n\n";
                }
    
                tep_mail($order->customer['name'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);

     


  17. Thank you @raiwa for maintaining this essential module which is current unlike the one in core.

    In my test 1.0.5.1 shop on PHP 7.3 checkout_process throws;

    Fatal error: Uncaught Error: Call to undefined function tep_address_format() in D:\Phoenix_1_0_5_1\htdocs\includes\modules\payment\stripe_sca.php:498 Stack trace: #0 D:\Phoenix_1_0_5_1\htdocs\includes\modules\payment\stripe_sca.php(400): stripe_sca->after_process() #1 D:\Phoenix_1_0_5_1\htdocs\includes\system\versioned\1.0.0.0\payment.php(177): stripe_sca->before_process() #2 D:\Phoenix_1_0_5_1\htdocs\checkout_process.php(88): payment->before_process() #3 {main} thrown in D:\Phoenix_1_0_5_1\htdocs\includes\modules\payment\stripe_sca.php on line 498

    Fine up to 1.0.5.0 but 1.0.5.1 breaks it.

    Thanks again.

    Martin

×