Request details for creating a Trustly payment.
 /// <summary>
 /// Instantiates a new <see cref="TrustlyPaymentRequest"/> with the provided parameters.
 /// </summary>
 /// <param name="currency">The wanted currency of the payment.</param>
 /// <param name="prices">Prices object describing the payment price with different payment methods.</param>
 /// <param name="description">Textual descroption of the payment.</param>
 /// <param name="payerReference">A reference to the payer in the merchant system.</param>
 /// <param name="userAgent">The payers UserAgent string.</param>
 /// <param name="language">The payers prefered language.</param>
 /// <param name="urls">Object holding relevant URLs for this payment.</param>
 /// <param name="payeeInfo">Object with merchant information.</param>
 public TrustlyPaymentRequest(
     Currency currency,
     IEnumerable <IPrice> prices,
     string description,
     string payerReference,
     string userAgent,
     Language language,
     IUrls urls,
     IPayeeInfo payeeInfo)
 {
     Payment = new TrustlyPaymentDetails(currency, prices, description, payerReference, userAgent, language,
                                         urls, payeeInfo);
 }
 public TrustlyPaymentDetailsDto(TrustlyPaymentDetails payment)
 {
     Currency       = payment.Currency.ToString();
     Description    = payment.Description;
     Intent         = payment.Intent.ToString();
     Language       = payment.Language.ToString();
     Operation      = payment.Operation.Value;
     PayeeInfo      = new PayeeInfoResponseDto(payment.PayeeInfo);
     PayerReference = payment.PayerReference;
     Prices         = new List <PriceDto>();
     foreach (var item in payment.Prices)
     {
         Prices.Add(new PriceDto(item));
     }
     Urls        = new UrlsDto(payment.Urls);
     UserAgent   = payment.UserAgent;
     PrefillInfo = new TrustlyPrefillInfoDto(payment.PrefillInfo);
 }