예제 #1
0
 public void RememberMapping(AcquiringBankPaymentId acquiringBankPaymentId, GatewayPaymentId gatewayPaymentId)
 {
     if (!_map.TryAdd(acquiringBankPaymentId, gatewayPaymentId))
     {
         //Can happen only when Acquiring bank sent duplicated unique identifier for a payment
         throw new BankDuplicatedPaymentIdException($"Bank paymentId {acquiringBankPaymentId} already maps to Gateway Payment Id {_map[acquiringBankPaymentId]}");
     }
 }
        public async Task Update(GatewayPaymentId gatewayPaymentId, AcquiringBankPaymentId bankPaymentId, PaymentStatus paymentStatus)
        {
            //Simulate IO
            await Task.Delay(1);

            var paymentDetails = _storage[gatewayPaymentId];

            paymentDetails.Update(bankPaymentId, paymentStatus);
        }
 public void Update(AcquiringBankPaymentId bankPaymentId, PaymentStatus paymentStatus)
 {
     BankPaymentId = bankPaymentId;
     Status        = paymentStatus;
 }
예제 #4
0
 public GatewayPaymentId GetPaymentGatewayId(AcquiringBankPaymentId paymentAcquiringBankId)
 {
     return(_map[paymentAcquiringBankId]);
 }