Несколько транзакций с использованием Paypal .NET SDK

Я внедрил Paypal ASP.NET SDK для осуществления платежей на моем веб-сайте, где пользователь оплачивает товары через свою учетную запись Paypal.

То, что я хотел бы сделать, - это отдельные продукты, которые пользователь заказал в различных транзакциях Paypal, чтобы при входе клиента в Paypal они могли видеть их как отдельные подробные транзакции.

Paypal SDK предлагает, что это можно сделать, так как объект транзакции является коллекцией. Это фрагмент моего кода, где я пытаюсь отправить несколько транзакций через:

#region Get products

ItemList itemList = new ItemList();

if (_products.Any())
{
    List<Item> payPalItems = _products.Select(p => new Item
    {
        name = p.Name,
        currency = _currency,
        price = p.Price.ToString("N"),
        quantity = p.Quantity.ToString(),
        sku = p.Sku
    }).ToList();

    itemList.items = payPalItems;
}

#endregion

#region Personal Details

// Address for the payment
Address billingAddress = new Address();

if (_personalDetails != null)
{
    billingAddress.line1 = _personalDetails.Address1;
    billingAddress.line2 = _personalDetails.Address2;
    billingAddress.state = _personalDetails.County;
    billingAddress.city = _personalDetails.City;
    billingAddress.postal_code = _personalDetails.PostCode;
    billingAddress.country_code = _personalDetails.CountryCode;
}

#endregion

#region Payment Amount Details

Details paymentDetails = new Details();
paymentDetails.shipping = _delivery.ToString();
paymentDetails.subtotal = _products.Sum(p => p.Total).ToString("N");
paymentDetails.tax = _tax.ToString();

Amount paymentAmount = new Amount();
paymentAmount.currency = _currency;

// Total must be equal to sum of shipping, tax and subtotal.
paymentAmount.total = ((decimal.Parse(paymentDetails.subtotal) * (100 + _tax) / 100) + _delivery).ToString("N");
paymentAmount.details = paymentDetails;

#endregion

#region Transaction --> Sending multiple transactions here...

// A transaction defines the contract of a payment - what is the payment for and who is fulfilling it. 
Transaction trans1 = new Transaction();
trans1.amount = paymentAmount;
trans1.item_list = itemList; // Currently sending the same list of items for testing.
trans1.invoice_number = "Surinder Split Order 1";

Transaction trans2 = new Transaction();
trans2.amount = paymentAmount;
trans2.item_list = itemList; // Currently sending the same list of items for testing.
trans2.invoice_number = "Surinder Split Order 2";

// The Payment creation API requires a list of transactions.
List<Transaction> transactions = new List<Transaction>();
transactions.Add(trans1);
transactions.Add(trans2);

#endregion

При этом я получаю следующее сообщение об ошибке от Paypal: "В настоящее время поддерживается только одна транзакция оплаты".

Похоже, Paypal не позволяет отделить транзакции от одного запроса. Если это так, есть ли другой способ выполнить то, что я пытаюсь достичь?

0 ответов

Другие вопросы по тегам