使用 ASP.Net 中的 SOAP API 将购物车项目发送到 Paypal
Posted
技术标签:
【中文标题】使用 ASP.Net 中的 SOAP API 将购物车项目发送到 Paypal【英文标题】:Sending Cart items to Paypal using the SOAP API in ASP.Net 【发布时间】:2012-05-05 22:36:18 【问题描述】:我在使用 PayPal SOAP API 时有点发疯。实际流程运行良好,我的意思是我重定向到 Paypal,流程重定向回来,我无法接受订单并处理它。
我遇到的问题是我似乎无法将购物车中的内容发送到贝宝页面,以概述他们所支付的费用。我尝试使用 PaymentDetails 数组,这种方法适用于一个项目,但多个项目(和多个 paymentDetail 对象)失败了,因为我认为我正试图从多个卖家那里收取款项,这是有道理的,但我不是。
有谁知道这如何与 .Net 一起使用,或者对我应该将这些物品放在哪里有任何想法,我找到了一些关于自定义 espress 结帐流程的文档,但这是针对 NVP API 的,我似乎找不到SOAP API 的相同信息。
【问题讨论】:
您是否也遇到过从 paypal 收到收据时数量=1 的情况?我也确实在 PaymentDetailsItem 中指定了数量。 【参考方案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;
【讨论】:
以上是关于使用 ASP.Net 中的 SOAP API 将购物车项目发送到 Paypal的主要内容,如果未能解决你的问题,请参考以下文章
从 ASP.NET SOAP 服务检索 XML 数据到 ASP.NET aspx 页面