今天在这里与大家分享一个好消息,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. Openstack Murano(kilo)二次开发之添加Volume

    Openstack Murano(kilo)二次开发之添加Volume 欢迎转载,转载请注明出处:http://www.cnblogs.com/fmnisme/p/openstack_murano_a ...

  2. Jetty 9嵌入式开发

    官方网址:http://www.eclipse.org/jetty/ 下载地址:http://download.eclipse.org/jetty/stable-9/dist/ 文档网址:http:/ ...

  3. IT 需要知道的一些专业名词和解释 (长期更新)

    c2c: 就是我卖东西你来买  (comsumer to comsumer个人对个人) b2c: 就是我开公司卖东西你来买 (business to comsumer 公司对个人) o2o: 就是我开 ...

  4. JS 基本数据类型

    一.undefined 类型 (ECMAScript 3引入undefined类型) 1.它的值只有一个 undefined 2.未初始化的变量 会隐式转换为undeFined类型 var box; ...

  5. javaweb学习总结(二十)——JavaBean总结

    一.什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法 ...

  6. mac下Nginx+lua模块编译安装

    Nginx的nb之处就不说了,lua也是一个小巧的脚本语言,由标准C编写而成,几乎可以运行在所有的平台上,也非常强大,其他特性请自行度娘.nginx_lua_module是由淘宝的工程师清无(王晓哲) ...

  7. sqlserver自定义函数的创建与调用

    sqlserver中有系统提供的函数,像avg.sum.getdate()等,用户还可以自定义函数. 用户自定义的函数包括:标量函数和表值函数,其中标量函数和系统函数的用法一样,表值函数根据主体的定义 ...

  8. js系列(10)js的运用(二)

        本节继续介绍在html页面中js的运用.   (1)数码时钟:(http://files.cnblogs.com/files/MenAngel/text05.zip) <!DOCTYPE ...

  9. 大家一起写mvc(二)

    上一篇已经看了,我想大家都明白了mvc的原理,今天我们来说一下要写自己mvc框架必须要会的技术. mvc的目录是这样的 src目录是我们核心的mvc代码.这个代码明天讲,今天主要讲的代码都在test目 ...

  10. Windows 8.1 with update 官方最新镜像汇总

    Windows 8.1 with update 官方最新镜像汇总,发布日期: 2014/12/16,Microsoft MSDN. 镜像更新日志: 12/29:32位大客户专业版中文版 12/24:6 ...