2015-03-12 14 views
6

sto cercando di impostare le seguenti con Banda:transazioni tramite banda Collegare

  • un account master
  • multipli account secondari (cioè collegate al conto Maestro tramite banda Connect app)
  • Abilita pagamenti da effettuare a un subaccount , con una commissione percentuale prelevata dal conto principale per transazione .

Ho creato un account principale e un account secondario. Ho collegato l'account secondario all'account principale tramite Stripe Connect. Ho ricevuto e memorizzato un access_token e un refresh_token alla fine del processo Stripe Connect.

In caso di pagamenti, un pagamento può coprire più articoli. Ho il seguente codice (PHP) per elaborare il pagamento:

Stripe_Charge::create(array(
    "amount" => $amt, 
    "currency" => "EUR", 
    "source" => $stripeCardToken, 
    "description" => $description), 
    "application_fee_percent" => 0.5 
), 
    $stripeAccessToken 
); 

Questo è posto in un ciclo, per ogni elemento di essere pagato. È anche in un blocco try/catch con più interferenze Stripe. Tuttavia, questo metodo ha esito negativo senza alcun errore.

È questo il metodo di classe corretto da utilizzare? Il campo 'sorgente' per il token della carta di credito? Esiste un modo per tenere traccia degli importi pagati su più articoli senza utilizzare un ciclo? Lo $stripeAccessToken access_token del subaccount viene restituito dal processo Connect o dal refresh_token? O è la chiave pubblicabile/segreta dell'account principale? O qualcos'altro? Posso usare questo formato per $ stripeAccessToken, o devo invece usare Stripe::setApiKey($stripeAccessToken) prima del ciclo?

Sia il master che il sotto-conto utilizzano attualmente l'ambiente di test e una carta falsa, ma vorrei anche testare le transazioni in tempo reale.

risposta

2

Il primo problema qui è che si sta tentando di riutilizzare un token di carta, ma quelli sono una tantum, quindi una volta creato un addebito con un token di carta non è possibile crearne uno nuovo.

Se si desidera addebitare il cliente e suddividere i pagamenti tra più venditori, è necessario utilizzare shared customers. Questo è il flusso si avrebbe bisogno di seguire nel tuo caso:

  • creare un token card per dati della carta del vostro cliente con tua API pubblicabile chiave
  • creare un cliente nel tuo account striscia con tua segreto chiave.
  • Per ciascun venditore, è necessario il numero create a token per il cliente che verrà utilizzato per creare un addebito nei conti dei venditori. Dovresti creare addebiti separati qui per ciascun venditore ma non devi chiedere al cliente i suoi dettagli della carta più volte.

Nel caso in cui ho capito male e tutti gli elementi sarebbe venuto dallo stesso venditore non avrebbe bisogno di fare tutto questo e avresti bisogno di seguire questo flusso:

  • creare un token di carta per la vostra dettagli della carta cliente con loro chiave API pubblicabile che hai ottenuto durante il flusso Connect.
  • Creare un cliente nel proprio account stripe con loroaccess_token ottenuto durante il flusso Connect, passato come secondo parametro alla chiamata API.
  • Creare un addebito per l'importo totale degli articoli acquistati dal cliente passando l'ID cliente ottenuto al passaggio precedente e lo access_token come secondo parametro nuovamente.
+0

Grazie per quella koopaja. Quest'ultimo esempio è quello che stavo cercando. Una domanda successiva: esiste un modo per mettere in atto una singola transazione che copra più elementi e che ogni articolo sia annotato nella descrizione della transazione (oltre alla semplice creazione di una stringa molto lunga)? – Eamonn

+0

L'unica soluzione a cui posso pensare è creare elementi di fatturazione per ogni articolo e quindi creare una fattura per raggruppare tutto insieme – koopajah

+0

Per essere chiari, stai dicendo che hai venduto un widget per $ 10 con $ 9 che vanno a due associati separati di il tuo, dovresti dire addebitate il cliente due volte, diciamo $ 5 andando all'associato. Foo e una carica separata di $ 4 a socio. Bar. – MCB