【问题标题】:Sending Cart items to Paypal using the SOAP API in ASP.Net使用 ASP.Net 中的 SOAP API 将购物车项目发送到 Paypal
【发布时间】:2012-05-05 22:36:18
【问题描述】:

我在使用 PayPal SOAP API 时有点发疯。实际流程运行良好,我的意思是我重定向到 Paypal,流程重定向回来,我无法接受订单并处理它。

我遇到的问题是我似乎无法将购物车中的内容发送到贝宝页面,以概述他们所支付的费用。我尝试使用 PaymentDetails 数组,这种方法适用于一个项目,但多个项目(和多个 paymentDetail 对象)失败了,因为我认为我正试图从多个卖家那里收取款项,这是有道理的,但我不是。

有谁知道这如何与 .Net 一起使用,或者对我应该将这些物品放在哪里有任何想法,我找到了一些关于自定义 espress 结帐流程的文档,但这是针对 NVP API 的,我似乎找不到SOAP API 的相同信息。

【问题讨论】:

  • 您是否也遇到过从 paypal 收到收据时数量=1 的情况?我也确实在 PaymentDetailsItem 中指定了数量。

标签: c# asp.net paypal


【解决方案1】:

我正在寻找正确的区域,但焦点错误。 PaymentDetails 对象包含项目所在的 PaymentDetailsItem 数组,代码需要整理,但如果其他人需要它,应该给出大致的想法。

    PaymentDetailsType[] pmtDetails = new PaymentDetailsType[1];
    pmtDetails[0] = new PaymentDetailsType();
    var pmtIndex = 0;

    PaymentDetailsItemType[] items = new PaymentDetailsItemType[cartItems.Count];

    foreach (var item in cartItems)
    {
        var i = new PaymentDetailsItemType()
        {
            Name = item.productName,
            Number = item.productID.ToString(),
            Quantity = item.quantity.ToString(),
            Amount = new BasicAmountType(){ currencyID = CurrencyCodeType.GBP, Value = item.productPrice.ToString() }
        };
        items[pmtIndex] = i;
        pmtIndex++;
    }
    //reqDetails.p
    //reqDetails.PaymentDetails = pmtDetails;
    //hOrderTotal.Value
    // 
    pmtDetails[0].PaymentDetailsItem = items;
    pmtDetails[0].OrderTotal = new BasicAmountType() { currencyID = CurrencyCodeType.GBP, Value = HttpContext.Current.Session["_OrderTotalLessShippingAmount"].ToString() };
    reqDetails.PaymentDetails = pmtDetails;

【讨论】:

    猜你喜欢
    • 2013-03-25
    • 2011-06-11
    • 1970-01-01
    • 2014-05-28
    • 2014-11-19
    • 1970-01-01
    • 2021-05-09
    • 2018-09-14
    • 1970-01-01
    相关资源
    最近更新 更多