Windows phone 7 我们如何在windows phone 7中实施应用内购买

Windows phone 7 我们如何在windows phone 7中实施应用内购买,windows-phone-7,paypal,webbrowser-control,windows-phone-7.1,Windows Phone 7,Paypal,Webbrowser Control,Windows Phone 7.1,您好,我正在创建一个windows phone 7.1应用程序,它需要应用程序内购买 由于WP7不像iphone那样有特定的应用内购买SDK,我们可以使用paypal进行应用内购买吗 我不熟悉WindowsPhone7和PayPalAPI 当我点击支付按钮并让用户完成支付时,如果支付成功返回成功消息,或者如果支付失败返回失败消息,则在browsercontrol中打开移动paypal站点 我不认为Movend是最好的选择,因为我们必须在他们的网站上维护产品数据库,这也是我不想要的。使用PayPa

您好,我正在创建一个windows phone 7.1应用程序,它需要应用程序内购买

由于WP7不像iphone那样有特定的应用内购买SDK,我们可以使用
paypal
进行应用内购买吗

我不熟悉WindowsPhone7和PayPalAPI

当我点击支付按钮并让用户完成支付时,如果支付成功返回成功消息,或者如果支付失败返回失败消息,则在
browsercontrol
中打开移动paypal站点


我不认为
Movend
是最好的选择,因为我们必须在他们的网站上维护产品数据库,这也是我不想要的。

使用PayPal在你的应用程序中付款是完全可以接受的,但要注意:

从Windows获取的应用程序必须功能齐全 电话市场(以下允许的其他数据除外)。 除非您与该用户存在预先存在的计费关系, 您的应用程序可能不要求用户提供付款 应用程序体验中用于激活、解锁、, 或扩展应用程序的使用


这是我问题的答案

Paypal没有针对WP7的特定sdk,所以我尝试用以下方式解决上述问题

  • 创建一个网站,该网站将在querystring中记录项目价格/详细信息
  • 仅在该网站中实施ExpressCheckout。我已经用贝宝实现了
  • 在WP7应用程序中放置一个浏览器控件,并为该控件添加一个已导航的事件
  • 为我们自己的网站创建Url,如
    string.Format(“http://localhost:62744/PaymentGateway/ExpressCheckout.aspx?ItemName={0}&Number={1}&Desc={2}&ItemPrice={3}&ItemUrl={4}”,ItemName,ItemNumber,ItemDescription,ItemPrice,ItemUrl)
  • 在我们的WP7应用程序代码中调用该网站
    BrowserControl.Navigate(新Uri(url))
  • 支付完成后,paypal服务会将应用重定向到我们提到的成功url,否则会重定向到失败url
  • BrowserControl\u Navigated
    事件中,添加条件以检查paypal成功和失败URL
  • 如果条件成功,则导航到WP7中的成功页面

    if (BrowserControl.Source.ToString().Contains( "http://localhost:62744/PaymentGateway/Success.html"))
         NavigationService.Navigate(new Uri("/Success.xaml", UriKind.Relative));
    
  • 更新: 以上代码将页面重定向到PayPal mobile页面,在外观上不如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);
    

    我们在三月份的比赛中实施了IAP。为了让PayPal将WP上的IE9识别为移动浏览器,我们不得不通过修改初始浏览器请求上的主机头来使PayPal认为我们是iPhone。非常痛苦。我不知道他们是否已经修好了

    此外,PayPal使用IE9不支持的带水印的文本框,因此我们需要在签出时包含帮助文本,以显示未标记的文本框的用途(用于使用CC而不是PayPal帐户进行签出)


    这是一个非常痛苦的过程,但它现在起作用了。从app store下载QONQR并查看最终结果。如果您想了解有关实施的更多详细信息,请发送电子邮件到我们的支持地址。如果您需要,欢迎提供帮助。

    为什么编写示例?PayPal没有任何关于如何使用其API的教程吗?因此不打算使用d让其他人为你寻找教程。应该强调的是,这只适用于个人和学生(要求2.1.2)对于企业来说,使用第三方支付网关进行应用内购买是完全可以接受的。该政策也没有规定仅使用Microsoft应用内SDK进行数字商品(解锁功能、数字内容等)的要求与苹果更严格的政策相反,但是我没有尝试提交应用程序的经验,该应用程序使用除Microsoft以外的应用程序SDK进行内容解锁等。嗨,我已经实现了上述支付,我有产品的网站,这是我从移动浏览器访问的网站。但我的应用程序失败由于支付网关,认证过程失败。我收到以下错误“提示用户从应用程序中输入信息。交易必须通过安全(HTTPS)网站或通过地址栏可见的托管控件在应用程序外部进行,以验证URL和HTTPS安全性”。我需要在我的应用程序中执行支付网关方式,有人可以帮助我执行此操作。您好,@RVG您是否使用此支付网关在市场上发布了您的应用程序,应用程序认证过程是否成功?谢谢您的回复,您是否在市场上提交了该应用程序?我有一个具有相同类型支付网关的应用程序,我在ma中提交了该应用程序rketplace,但认证失败。