Beispiel #1
0
        protected override async Task <IBankResponse> CallBank(PayingAttempt payingAttempt, CancellationToken cancellationToken)
        {
            // Simulate bank response delay
            var delay = DelayProvider.Delays();
            await Task.Delay(delay, cancellationToken);

            // Call bank's service
            var request = new SocieteGeneralePaymentRequest(payingAttempt.GatewayPaymentId, payingAttempt.Amount, payingAttempt.Currency, payingAttempt.CardCvv, payingAttempt.CardExpiry, payingAttempt.CardNumber);
            SocieteGeneraleResponse response = await _societeGenerale.RespondToPayment(request);

            _paymentIdsMapper.RememberMapping(new AcquiringBankPaymentId(response.BankPaymentId), new GatewayPaymentId(response.GatewayPaymentId));

            return(AdaptToBankResponse(response));
        }
Beispiel #2
0
 private IBankResponse AdaptToBankResponse(SocieteGeneraleResponse response)
 {
     return(new BankResponse(response.BankPaymentId, response.GatewayPaymentId, response.PaymentStatus));
 }