2015-07-15 12 views
8

Sto usando il s2Member Pro plugin con un'installazione di Wordpress per accettare i pagamenti dell'abbonamento.Stripe s2Member Pro Plugin di ritorno card_declined in modalità live

Durante tutti i test il plug-in Stripe ha funzionato ogni volta e quando l'ho passato in modalità live ha funzionato anche la mia scheda, quindi ho pensato che andasse tutto bene, tuttavia ora vedo che la maggior parte delle carte riceve un errore scheda_declined restituito quando inviano il modulo per il pagamento.

Gli utenti compilano il modulo con la prima, l'ultima, e-mail, password, nome utente e, quando gli utenti fanno clic su "aggiungi pagamento", viene visualizzata la sovrapposizione di Stripe checkout, inserisco i dettagli della carta che il plug-in li accetta con un segno di spunta verde ma quando premo submit vedo l'errore.

Il sito è https://naturalbusinesstools.com/pricing e dispone di tutte le impostazioni SSL corrette e tutti i dettagli dell'account Stripe, i ganci Web e le verifiche sono corretti [come ho menzionato solo alcune carte, in particolare quelle della Banca del Commonwealth]. Devo anche menzionare che, indipendentemente dal successo/fallimento del pagamento, il cliente viene creato nel conto Stripe.

C'è qualche livello di sicurezza che potrebbe impedirne il passaggio?

*** AGGIORNAMENTO Ok, quindi è stato uno sviluppo. Ho provato 4 carte di credito personali separate [amici e famiglie] e hanno funzionato perfettamente. Poi ho provato un paio di carte di credito/debito aziendali e tutte hanno fallito ....

Quindi sembra che s2 o striscia non funzioni correttamente transazioni di biglietti da visita ... è un problema comune?

*** AGGIORNAMENTO

Ok, quindi c'è stato un grande sviluppo con questo problema. Alla fine sono entrato nel creatore di plugin pro membro s2 e ha avuto questo da dire:

"Così ho riprodotto questo comportamento sul tuo sito, e ho rintracciato l'aggiornamento di una scheda che si svolge entro il mese di settembre. s2Member aggiunge il nome del cliente, address_zip, address_state e address_country subito dopo che la carta (aka: source) viene aggiunta al tuo cliente Stripe.

L'errore di card_declined che stai vedendo proviene dall'API di Stripe e restituisce un card_declined error ogni volta che s2Member tenta di aggiornare la scheda con quei dettagli di base.Subito che si tratti di un bug nell'API Stripe, ma volevo postare qui le informazioni prima, nel caso in cui tutto ciò potrebbe darti un'idea del perché questo un aggiornamento particolare potrebbe non riuscire.

Armati della conoscenza di quale chiamata API Stripe ha provocato un errore di scheda_declined da Stripe, ho quindi impostato una pagina di test sul sito in cui sono riuscito a eseguire di nuovo le chiamate di aggiornamento e ho tentato di aggiornare una parte di informazioni alla volta. Sono stato in grado di aggiornare il nome, address_state e address_zip senza problemi. Tuttavia, in questa particolare scheda ogni volta che tento di aggiornare address_country ad un valore di AU API Stripe dice, card_declined per qualche ragione "

Riferimento inaspettato fallimento risposta API da banda nella loro SDK PHP:.

   [file] => .../wp-content/plugins/s2member-pro/includes/classes/gateways/stripe/stripe-sdk/lib/Stripe/ApiRequestor.php 
       [line] => 109 
       [function] => _interpretResponse 
       [class] => Stripe_ApiRequestor 
       [type] => -> 
       [args] => Array 
        (
         [0] => { 
"error": { 
"message": "Your card was declined.", 
"type": "card_error", 
"param": "", 
"code": "card_declined" 
} 

Quindi si tratta di un bug nell'API Stripe. Non sei sicuro se qualcuno ha una soluzione alternativa?

+1

Quello che stai trattando qui è essenzialmente un problema aziendale, non tecnico. Devi parlare con Stripe di questo. – duskwuff

risposta

3

SOLUZIONE A BREVE TERMINE

Trova questa riga di codice nella vostra copia di s2Member Pro: https://github.com/websharks/s2member-pro/blob/000000-dev/s2member-pro/includes/classes/gateways/stripe/stripe-utilities.inc.php#L166 File: s2member-pro/include/classes/gateway/banda/banda-utilities.inc.php

Cambio:

$source->save(); 

A:

// $source->save(); 

Ciò impedirà l'esecuzione dell'aggiornamento aggiuntivo. È solo lì per scopi di dichiarazione dei redditi comunque, e questo dovrebbe risolvere il problema a breve termine fino a quando non saremo in grado di andare fino in fondo.