public static void FindPayment(Transaction transaction,
                                       IEnumerable <ListPaymentsFilterResult.Response.Payment> payments, IEnumerable <string> purposesFormats)
        {
            if (!transaction.DigisellerSellId.HasValue || transaction.PayMasterPaymentId.HasValue)
            {
                return;
            }

            IEnumerable <string> purposes =
                purposesFormats.Select(f => string.Format(f, transaction.DigisellerSellId.Value));

            ListPaymentsFilterResult.Response.Payment payment =
                payments.SingleOrDefault(p => purposes.Contains(p.Purpose));

            transaction.PayMasterPaymentId = payment?.PaymentId;
        }
예제 #2
0
        internal Donation(ListPaymentsFilterResult.Response.Payment payment)
        {
            _name  = payment.SiteInvoiceId;
            Date   = payment.LastUpdateTime;
            Amount = payment.PaymentAmount;

            switch (payment.PaymentSystemId)
            {
            case 161:
                PayMethodInfo = Transaction.PayMethod.Sbp;
                break;

            case 162:
                PayMethodInfo = Transaction.PayMethod.BankCard;
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            PaymentId = payment.PaymentId;
        }