今天在这里与大家分享一个好消息,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(, 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

Windows Phone 支持中国移动官方支付的更多相关文章

  1. Windows Server 2012 R2 官方原版镜像

    微软操作系统 Windows Server 2012 R2 官方原版镜像 Windows Server 2012 R2 是由微软公司(Microsoft)设计开发的新一代的服务器专属操作系统,其核心版 ...

  2. 装python package 时,conda提示会升级python2到python3,那可能是你的windows不支持py2env下的此包。

    装python package 时,conda提示会升级python2到python3, 那可能是你的windows不支持py2env下的此包.比如:win 下,tensorflow就不支持py2的环 ...

  3. Windows CMD 支持ls命令

    /********************************************************************** * Windows CMD 支持ls命令 * 说明: * ...

  4. 解决Sqlserver 2008 R2在创建登录名出错"此版本的 Microsoft Windows 不支持 MUST_CHANGE 选项。 (Microsoft SQL Server,错误: 15195)"

    错误信息:   执行 Transact-SQL 语句或批处理时发生了异常. (Microsoft.SqlServer.ConnectionInfo)   此版本的 Microsoft Windows ...

  5. Docker学习笔记-Windows系统支持(一)

    Docker对windows的支持情况: 一.Docker for Windows ServerDocker Enterprise Edition for Windows Server 2016htt ...

  6. 微软操作系统 Windows Server 2012 R2 官方原版镜像

    微软操作系统 Windows Server 2012 R2 官方原版镜像 Windows Server 2012 R2 是由微软公司(Microsoft)设计开发的新一代的服务器专属操作系统,其核心版 ...

  7. IE Edge 下载文件的时候,文件名不能有windows不支持的特殊字符

    IE Edge 下载文件的时候,文件名不能有windows不支持的特殊字符,比如:等. 马了个批的,其他浏览器包括IE就可以自动转换,比如:会自动变为_.

  8. C++ windows客户端支持SSL双向认证

    C++ windows客户端支持SSL双向认证,服务端是JAVA开发的,使用的证书是jks格式的.C++并不支持JKS格式的证书,所以要用openssl进行转换下. 1. 需要先把jks转成.p12文 ...

  9. Kube-OVN v1.10.0:新增Windows节点支持,用户自定义子网ACL等10+硬核功能

    在Kube-OVN社区小伙伴的共同努力下,Kube-OVN v1.10.0于五月份正式发布.Kube-OVN v1.10.0版本中,我们一如既往地对Kube-OVN 的功能.性能.稳定性和易用性进行了 ...

随机推荐

  1. Android中px和dip的区别

    在Android手机的诞生之初,由于Android系统是开源的,一开始便有众多的OEM厂商对Android手机进行深度定制,于是乎Android手机的皮肤和屏幕大小都变得百花齐放,这可苦逼了我们这群开 ...

  2. AVL树(三)之 Java的实现

    概要 前面分别介绍了AVL树"C语言版本"和"C++版本",本章介绍AVL树的Java实现版本,它的算法与C语言和C++版本一样.内容包括:1. AVL树的介绍 ...

  3. ruby正则匹配回车换行符

    如果你使用/^.*$/这种正则是匹配不到回车换行符的. 所以应该像下面这么写: /^[\s\S]*$/

  4. [读书笔记]C#学习笔记八:StringBuilder与String详解及参数传递问题剖析

    前言 上次在公司开会时有同事分享windebug的知识, 拿的是string字符串Concat拼接 然后用while(true){}死循环的Demo来讲解.其中有提及string操作大量字符串效率低下 ...

  5. T4模板TextTemplatingFileGenerator和TextTemplatingFilePreprocessor区别

    最近做一个项目,需要根据数据库表生成对应的实体类,于是想到了代码生成器.查阅了Nvelocity.T4.RazorEngine,对于一个微软技术派,觉得还是T4最亲切,使用简单,功能强大. 在尝试使用 ...

  6. Artificial Intelligence Language

    Artificial Intelligence Language Objective We know, a true AI program should have ability to underst ...

  7. 正则表达式提取url中的参数,返回json字符串

    var urlstr = "www.baidu.com?a=1&b=xx&c"; var s = urlstr.split("?"); var ...

  8. VS2010链接TFS

    VS2010链接TFS源代码管理器 1.打开VS2010开发工具. 2.菜单视图===>>团队资源管理器 3.点击链接到团队项目 4.点击服务器 5.点击添加 6.输入TFS服务配置信息 ...

  9. webRTC-实时流媒体的福音

    WebRTC是一项在浏览器内部进行实时视频和音频通信的技术,是谷歌2010年以6820万美元收购Global IP Solutions公司而获得的一项技术.[1] WebRTC实现了基于网页的视频会议 ...

  10. 奇怪吸引子---Rucklidge

    奇怪吸引子是混沌学的重要组成理论,用于演化过程的终极状态,具有如下特征:终极性.稳定性.吸引性.吸引子是一个数学概念,描写运动的收敛类型.它是指这样的一个集合,当时间趋于无穷大时,在任何一个有界集上出 ...