Windows Phone 支持中国移动官方支付
今天在这里与大家分享一个好消息,Windows Phone 官方支付支持中国移动(MO Payment),在此之前无论是 Windows Phone 的用户还是开发者,都知道在Windows Phone 上购买应用或者在进行应用内付费(IAP)的时候微软官方只支持支付宝一种支付方式,这对一些没有支付宝账户的朋友来说,付费流程就会相对复杂一些(因为还需要注册账户),但是现在中国移动的用户,在使用大家手中的Windows Phone 进行购买应用或应用内付费(IAP)时大家会惊喜的发现我们可以使用全新的中国移动的支付方式进行购买。
操作步骤如下:
1. 打开支付页面的时候我们会看到熟悉的支付页面,我们在页面中通过点击添加或切换付款方式进行选择
2. 在打开的选择付款方式页面我们会发现中国移动的付款方式已经在列表中了我们选择即可
3. 返回到支付信息页面点击购买继续完成支持
4. 系统会自动进行支付并且返回支付结果
5. 随后我们会收到移动支付的通知短信
整个流程非常简便快捷有效率。
相信说到这里大家一定有一个疑问就是关于官方支付渠道商店分成问题,其实无论是支付宝还是中国移动的支付都遵循统一的商店分成原则(既三七分成)请参考 应用开发人员协议 。当然的应用内商品和应用本身在上商店之前是需要进行审核的只要符合标准就可以了详细内容请参考 Windows 和 Windows Phone 应用商店策略 。
以上介绍的是用户体验,这里相信开发者朋友会站出来问这里多了一种支付方式那么我们已经开发好的应用程序,或者今后开发的应用程序如何针对中国移动的支付方式进行适配呢?
其实答案非常简单,我们不需要对这种支付方式进行特殊的配置,也就是说之前已经提交在应用商店中的应用内商品和应用本身无需进行任何修改就可以支持中国移动的支付方式,此外如果是一个全新的应用或应用内商品只需要按照之前 Windows Phone 应用内商品和应用提交的审核流程操作既可以支持中国移动的支付方式。
如果您需要是使用微软的中国移动官方支付,您需要将商品提交到应用商店进行审核后,在配合客户端的代码编写及您应用本身或和您自己的服务器进行验证交互来完成应用内商品购买。我之前有一篇详细介绍应用内购买的文章请参考: Windows Phone 8 In app purchase 应用内购买 / 应用内支付
大致内容如下:
微软的支付流程如下
在进行Coding之前我们需要现在应用商店中提交我们的应用内商品
随后我们要在应用中配置好应用的详细信息,否则我们是无法再应用中拿到商品列表的。(下图是Silverlight应用的配置方法)
Universal 应用需要直接与应用相关联 (参考:如何在Windows应用商店中提交您的Windows 8.1 应用更新)
随后我们就可以进行支付部分的 Coding 工作,这里常用的 loadlistingInformationAsync() 来获取所有的商品。
private async void btnListIAPProducts_Tap(object sender, System.Windows.Input.GestureEventArgs e) { try { var ProdList = await CurrentApp.LoadListingInformationAsync(); lbProductsList.Items.Clear(); string t = ""; foreach (var item in ProdList.ProductListings) { t = string.Format("{0}, {1}, {2},{3}, {4}", item.Key, item.Value.Name, item.Value.FormattedPrice, item.Value.ProductType, item.Value.Description); lbProductsList.Items.Insert(0, t); } } catch (Exception ex) { MessageBox.Show("Error: " + ex.Message); } }
完成支付功能 (详细内容还是建议阅读一下:Windows Phone 8 In app purchase 应用内购买 / 应用内支付)
private async void btnOrderProduct_Tap(object sender, System.Windows.Input.GestureEventArgs e) { var ProdList = await CurrentApp.LoadListingInformationAsync(); var Prod = ProdList.ProductListings.FirstOrDefault(p => p.Value.ProductType == ProductType.Consumable); try { var Receipt = await CurrentApp.RequestProductPurchaseAsync(Prod.Value.ProductId, true); if (CurrentApp.LicenseInformation.ProductLicenses[Prod.Value.ProductId].IsActive) { // do someting with this license... // Notify the marketplace that the application has delivered the paid-for goods to the user. CurrentApp.ReportProductFulfillment(Prod.Value.ProductId); } MessageBox.Show(Receipt, "Fatura", MessageBoxButton.OK); } catch (Exception ex) { MessageBox.Show(ex.Message, "Fatura", MessageBoxButton.OK); } }
此外如果你如果需要将你的应用进行打包上传发布到 Windows Store 请参考:Windows / Windows Phone 8.1 预留应用名称及应用上传
其实整个流程也比较简单,首先填写一些应用的一些基本信息,例如应用名称,类别,销售价格,分发市场等内容。
然后提交您的应用程序包到商店中进行审核即可,待审核通过后Windows 用户就可以在商店下载(购买)您的应用了。
希望上的总结可以帮助到大家, 同时欢迎大家在这里和我沟通交流或者在新浪微博上 @王博_Nick