Is it possible to set Expresso Store to not accept American Express payments? The client us using stripe, and within stripe there is no option to disallow Amex.

I can block american express cards using JS but this is not a very robust solution.

I thought it might be possible to pass payment[card_type], but this has no effect.

would there be a hook i can use to validate before it'd passed to the payment processor?

Many thanks,


  • Is there a particular reason that you are not wanting to accept AMEX? Stripe doesn't charge higher fees for AMEX over Visa/MC/Discover in most cases unless you have $80k+ monthly sales and you have negotiated lower rates for transactions then the normal 2.9% + $.30 fee have I ever seen a difference between the different card types. Jul 21 '15 at 0:46

There is nothing built in to Store that would allow you to prevent a particular card type from being processed at the module level.

If the gateway required the card type you would be able to use a select and omit any card types you did not want to support. So for example you could do

<select name="payment[card_type]">
    <option value="">Select one...</option>
    <option value="visa">Visa</option>
    <option value="mastercard">MasterCard</option>
    <option value="discover">Discover</option>

if you only wanted to support Visa, MasterCard and Discover but not Amex. Stripe however does not require the card type to be submitted for a successful transaction. I also don't think that submitting the wrong card type would cause the transaction to fail as a result (even if you added data-stripe="card_type"). Having the select however would give a visual cue to the end user that Amex is not accepted.

If a JS option is out of the question you should be able to use the store_payment_request_start hook to do any additional processing/validation before the transaction to sent to the payment processor.

  • I went with the JS option for the moment, and will look into the hook as a more secure method. Thanks!
    – MrTomTom
    Aug 3 '15 at 23:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.