Hai bisogno di aiuto con il processo di pagamento usando Stripe

2

Non sono sicuro di quale sito Web di stackexchange sia il sito web corretto per pubblicare questa domanda.

Non ho ancora lavorato al processo di pagamento e ho bisogno di aiuto con il processo di pagamento utilizzando Stripe -

stiamo sviluppando un sito web in cui venderemo articoli di diverse aziende.

Ora il flusso dell'applicazione è simile a questo:

  1. Il cliente arriva al nostro sistema e si registra
  2. Il cliente cerca un'azienda
  3. Il cliente aggiunge articoli da tale attività a un carrello
  4. Se il cliente seleziona il pagamento online, otteniamo le informazioni sulla carta di debito e generiamo un token utilizzando Stripe.

  5. Ora un ordine può essere inserito solo se l'azienda accetta l'ordine. Per questo abbiamo una Dashboard in cui l'utente Business effettuerà l'accesso e attenderà gli ordini. Non appena l'ordine viene effettuato dal cliente, il Dashboard riceve una notifica (connessione SignalR). Il proprietario dell'azienda può quindi accettare o rifiutare l'ordine.

Se rifiutato, comunichiamo al cliente che l'ordine è stato rifiutato. Se accettato, comunichiamo al cliente che l'ordine è stato accettato.

Domanda:

Ora il problema che sto capendo è che quando facciamo pagare il cliente / cliente?

Abbiamo un token generato sul browser usando Stripe. Ma vogliamo solo addebitare al cliente se l'ordine è accettato.

Il problema con l'addebito al cliente di AFTER dell'ordine è accettato è CHE COSA SE i dati CARD inseriti dal cliente dove non sono corretti? In questo caso l'addebito fallirà, ma l'amministratore è già stato informato dell'ordine e l'amministratore l'ha accettato.

Il problema con la ricarica del cliente PRIMA è che cosa succede se l'amministratore declina l'ordine. In questo caso dovremo emettere un rimborso: il che potrebbe rendere il cliente turbato e non utilizzare il nostro sistema in futuro?

Qual è il modo migliore per farlo?

Quando fatturiamo il cliente?

    
posta Dawood Awan 17.05.2017 - 22:42
fonte

2 risposte

0

Dopo alcune ricerche abbiamo scoperto che in striping possiamo effettuare un pagamento in 2 fasi

Passaggio 1: autorizza la carta cliente con l'importo dell'ordine (crea un addebito non prelevato)

Passaggio 2 - Dopo che Business ha accettato l'ordine - elaborare il pagamento / addebito

Link doc - link

Dalla documentazione:

Auth and capture Stripe supports two-step payments so you can first authorize a charge on your customer’s card, then wait to settle (capture) it later. When a charge is authorized, the funds are guaranteed by the issuing bank and the amount held on the customer’s card for up to seven days. If the charge is not captured within this time, the authorization is canceled and funds released. To authorize a payment without capturing it, make a charge request that also includes the capture parameter with a value of false. This instructs Stripe to only authorize the amount on the customer’s card.

in .NET -

var chargeId = charges.Create(new StripeChargeCreateOptions
                        {
                            Amount = (int) total ,
                            Description = "",
                            Currency = "us",
                            SourceTokenOrExistingSourceId = "PAYMENT_TOKEN",
                            Destination = "DEST_ACCOUNT",
                            CustomerId = "CUSTOMER_STRIPE_ID",


                            Capture = false
                        }).Id;

Quindi ciò che farà è autorizzare l'addebito ma non detrarre l'importo dall'account dei clienti -

Ora, quando il Business accetta l'ordine, possiamo caricare il cliente utilizzando chargeId generato nel metodo precedente.

var chargeService = new StripeChargeService();
StripeCharge stripeCharge = chargeService.Capture(order.ChargeId);
    
risposta data 11.08.2017 - 13:19
fonte
4

Questa è una regola aziendale.

La risposta è che si scrive codice di logica aziendale in un livello di logica aziendale che indica quando caricare il cliente. Non devi dettare questo con il tuo design. Implementa qualsiasi cosa il tuo capo decida di fare. Fallo in un modo che lascia il tuo capo libero di cambiare idea più tardi.

Non trasformare la tua azienda in un deposito a garanzia o in un servizio di credito senza far sapere al tuo capo.

    
risposta data 17.05.2017 - 22:57
fonte

Leggi altre domande sui tag