您好我正在创建一个Windows Phone 7.1应用程序,这需要在应用程序购买
由于WP7没有像iphone那样的特定应用内购买SDK,我们是否可以使用paypal
进行应用内购买,
我是Windows Phone 7和paypal API的新手
例如,当我点击付款按钮并在用户完成付款并且付款成功返回成功消息或失败返回失败消息时,在browsercontrol
中打开移动paypal网站。
我认为Movend
不是最佳选择,因为我们必须在他们的网站上维护产品数据库,这也是我不想要的。
答案 0 :(得分:4)
以下是我的问题的答案
Paypal没有针对WP7的特定sdk,所以我试图通过以下方式解决上述问题
BrowserControl_Navigated
string.Format("http://localhost:62744/PaymentGateway/ExpressCheckout.aspx?ItemName={0}&Number={1}&Desc={2}&ItemPrice={3}&ItemUrl={4}", ItemName, ItemNumber, ItemDescription, ItemPrice, ItemUrl).Replace(" ", "+");
BrowserControl.Navigate(new Uri(url));
BrowserControl_Navigated
事件添加条件以检查paypal成功和失败网址如果条件成功导航到WP7中的成功页面
if (BrowserControl.Source.ToString().Contains( "http://localhost:62744/PaymentGateway/Success.html"))
NavigationService.Navigate(new Uri("/Success.xaml", UriKind.Relative));
上面的代码会将页面重定向到PayPal移动页面,因此在外观上感觉不如iOS登录页面。我们可以通过Windows Phone 7中的小技巧获得PayPal iOS页面
通过更改浏览器的标题(客户端的用户代理)将为我们提供PayPal iPhone页面
如下所示
string header = "User-Agent:Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8B117 Safari/6531.22.7";
string url = string.Format("http://10.11.32.211:88/PaymentGateway/ExpressCheckout.aspx?ItemName={0}&Number={1}&Desc={2}&ItemPrice={3}&ItemUrl={4}", ItemName, ItemNumber, ItemDescription, ItemPrice, ItemUrl).Replace(" ", "+");
BrowserControl.IsScriptEnabled = true;
BrowserControl.Navigate(new Uri(url),null, header);
答案 1 :(得分:2)
使用PayPal在您的应用中付款但完全可以接受Marketplace Application Policy 2.1:
从Windows获取应用程序时,您的应用程序必须完全正常运行 电话市场(下面允许的其他数据除外)。 除非您与用户之间存在预先存在的结算关系, 您的申请可能不要求用户提供付款 应用程序体验中的信息,用于激活,解锁, 或延长申请的使用。
答案 2 :(得分:1)
我们在3月份的游戏中实施了IAP。我们不得不通过修改初始浏览器请求中的主机头来欺骗PayPal以认为我们是iPhone,以便让PayPal将WP上的IE9识别为移动浏览器。这非常痛苦。我不知道他们是否已经修好了。
此外,PayPal使用IE9不支持的带水印文本框,因此我们需要在结帐时添加帮助文本以显示未标记文本框的用途(用于结帐CC而不是PayPal帐户。
这是一个非常痛苦的过程,但它现在正在运作。从应用商店下载QONQR并查看最终结果。如果您想了解有关实施的更多详细信息,请发送电子邮件至我们如果您需要,很乐意提供帮助。