Invision Community 4: SEO, prepare for v5 and dormant account notifications By Matt Monday at 02:04 PM
TyronX Posted November 27, 2022 Posted November 27, 2022 (edited) While its nice that Stripe offers payment by bank transfer via "Sofort", compared to other payment options the process is rather awful. Customers get charged immediately, but the order remains in a Pending state for multiple days. I lost count how many customers were contacting us as to why their money is gone but did not receive the product. It's especially infuriating for germans because "Sofort" in german means "Instant" - but its the exact opposite of instant. There are many ways to improve this, but at the very least I would suggest to properly communicate this with the customer. I added a warning via template hack. Would be nice if it were a default feature. Would likely save hundreds of support tickets a year without much effort. Edited November 27, 2022 by TyronX H5K 1
opentype Posted November 27, 2022 Posted November 27, 2022 Probably good to allow such a note for every payment option. If it’s filled, it shows, if not, it doesn’t show. teraßyte 1
H5K Posted November 28, 2022 Posted November 28, 2022 Agreed. It's not just SOFORT either, unfortunately it seems like the IPS team didn't test the Stripe options other than card.
Zennuie Posted November 30, 2022 Posted November 30, 2022 On 11/27/2022 at 3:55 AM, TyronX said: While its nice that Stripe offers payment by bank transfer via "Sofort", compared to other payment options the process is rather awful. Customers get charged immediately, but the order remains in a Pending state for multiple days. I lost count how many customers were contacting us as to why their money is gone but did not receive the product. It's especially infuriating for germans because "Sofort" in german means "Instant" - but its the exact opposite of instant. There are many ways to improve this, but at the very least I would suggest to properly communicate this with the customer. I added a warning via template hack. Would be nice if it were a default feature. Would likely save hundreds of support tickets a year without much effort. In the image you posted, is that a custom plugin that displays that message or is it only there as an example?
Hatsu Posted November 30, 2022 Posted November 30, 2022 On 11/27/2022 at 12:55 PM, TyronX said: ... I added a warning via template hack. ... He added this. Zennuie 1
TyronX Posted December 4, 2022 Author Posted December 4, 2022 On 11/30/2022 at 7:48 AM, realspezz said: In the image you posted, is that a custom plugin that displays that message or is it only there as an example? It's a template hack as mentioned. In nexus/front/checkout/paymentForm I replaced <input type="radio" {{if (string) $input->value == (string) $k or ( isset( $input->options['userSuppliedInput'] ) and !\in_array( $input->value, array_keys( $input->options['options'] ) ) and $k == $input->options['userSuppliedInput'] )}}checked{{endif}} {{if $input->required === TRUE}}required{{endif}} {{if $input->disabled === TRUE or ( \is_array( $input->disabled ) and \in_array( $k, $input->disabled ) )}}disabled{{endif}} {{if isset( $input->options['toggles'][ $k ] ) and !empty( $input->options['toggles'][ $k ] )}}data-control="toggle" data-toggles="{expression="implode( ',', $input->options['toggles'][ $k ] )"}"{{endif}} id="elRadio_{$input->name}_{$k}" name="{$input->name}" value="{$k}"> with {{if $k==9}} <input type="radio" {{if (string) $input->value == (string) $k or ( isset( $input->options['userSuppliedInput'] ) and !\in_array( $input->value, array_keys( $input->options['options'] ) ) and $k == $input->options['userSuppliedInput'] )}}checked{{endif}} {{if $input->required === TRUE}}required{{endif}} {{if $input->disabled === TRUE or ( \is_array( $input->disabled ) and \in_array( $k, $input->disabled ) )}}disabled{{endif}} {{if isset( $input->options['toggles'][ $k ] ) and !empty( $input->options['toggles'][ $k ] )}}data-control="toggle" data-toggles="9-9_card,{expression="implode( ',', $input->options['toggles'][ $k ] )"}"{{endif}} id="elRadio_{$input->name}_{$k}" name="{$input->name}" value="{$k}"> {{else}} <input type="radio" {{if (string) $input->value == (string) $k or ( isset( $input->options['userSuppliedInput'] ) and !\in_array( $input->value, array_keys( $input->options['options'] ) ) and $k == $input->options['userSuppliedInput'] )}}checked{{endif}} {{if $input->required === TRUE}}required{{endif}} {{if $input->disabled === TRUE or ( \is_array( $input->disabled ) and \in_array( $k, $input->disabled ) )}}disabled{{endif}} {{if isset( $input->options['toggles'][ $k ] ) and !empty( $input->options['toggles'][ $k ] )}}data-control="toggle" data-toggles="{expression="implode( ',', $input->options['toggles'][ $k ] )"}"{{endif}} id="elRadio_{$input->name}_{$k}" name="{$input->name}" value="{$k}"> {{endif}} not sure if k==9 is the same for you. Might be a different value for you. You should be able to see it when you inspect the payment form html in your browser. and below {{endforeach}} I added this <div id="9-9_card" class="" style="display: none;"> <div style="display: block;"> <div data-role="errorMessage" class="ipsMessage ipsMessage_warning">Please be aware that Payment via SEPA / Klarna will withdraw the money right away, but it can take up to 14 working days for the payment to complete. On average it takes about 3 working days. Your order will be in a 'Pending' state for this duration.</div> </div></div> Jipa331 1
Recommended Posts