微信支付宝开发者平台台怎么开通网页支付功能

微信支付开发
微信支付开发
  年底了,反而工作更忙了,我从15年11月开始写《1024伐木累》系列小说和爆笑对白,得到了很多身边的技术好友的支持,现在爆笑对白已经有越来越多的朋友一起帮着写段子,整理,包括小说内容的编辑工作等。虽然《1024伐木累》得到的褒贬不一,但是,对我来说,坚持的过程还是快乐的。我一直有一个愿望,也愿意一直坚持着尝试下去,包括我在公司做技术管理一样,传递给身边程序员小伙伴的思想只有一个:快快乐乐工作,健健康康编码。我想能够参与到技术开发中来的朋友,都希望如此。所以,小说的目的,是希望处于不同开发阶段的朋友,找到自己的方向,最终实现自己的人生价值。而爆笑对白的制作,就是想让更多的程序工作者得到快乐,哪怕只是瞬间的。
  回归主题,16年1月初我对微信开发比较好奇,由于自己是一个比较喜欢钱的人,所以对支付功能颇为冲动,就用公司信息在微信平台申请了一个服务号,还给腾讯打赏了300大洋做了下认证,抽空看了下微信支付官方的文档,大概了解了一下微信支付的流程以及开发过程,说实话,虽然看完了,但是对微信官方提供的文档有些不满,感觉不清不楚的,但是大概的支付方式已经了解,这时候,我的懒劲又来了,在网上找到了做微信对接的C#SDK:Senparc.Weixin.MP。这个类库的封装,在我看来,还是不错的,基本囊货了微信的功能,并且在不断的完善。类库是开源的,每个功能都有写简单的单元测试,看起来一目了然。主要对接DLL对应的功能如下:
  公众号+微信支付 SDK:Senparc.Weixin.MP.dll
  企业号 SDK:Senparc.Weixin.QY.dll
  开放平台 SDK:Senparc.Weixin.Open.dll&
  官方地址: &
  当然,我们要完成公众号微信支付功能的开发,需要使用Senparc.Weixin.MP.dll这个DLL,查阅了一下官方提供的DEMO以及教程,并没有载入微信支付相关的说明,没办法,既然拿到源码了,自己找吧。
  打开Senparc.Weixin.MP.sln,根据英文文件夹名称的分类,可以初步判断,关于微信支付,被封装在TenPayLib文件夹中,但是我还发现,里面存在名称叫“TenPayLibV3”的文件夹,那如何选择呢?网上搜索了一下,得出这个结论:号之前申请的为v2版,之后申请的为v3版。我用来测试微信支付的服务号是在16年刚申请,并且通过验证的,那么果断使用V3吧。
  打开TenPayLibV3文件夹:
  这里发现多个类库,每一个都是做什么的呢?我们这里不一一叙述,感兴趣的朋友可以下载来看,每一个类的文件头都有功能说明与描述,对照微信官方支付说明,我们直接开始做支付。
  进入微信公众号,点击功能菜单中的微信支付:并相应点击 使用教程-公众号支付
  迅速对文档内容重温、浏览,以方便在Senparc.Weixin.MP.dll中查找相应的功能。
  先配置支付授权目录,添加支付测试白名单,支付目录只支持三个,并且域名必须经过ICP备案。授权目录的作用是,如果要发起微信支付请求,请求的链接地址必须在授权目录下,否则身份无效,支付不能成功。测试白名单中添加的个人微信号,才能完成微信支付测试目录支付的测试,不在白名单中人员发起支付申请,支付不能成功。
  配置完成后,如何调用呢?我们继续看官方说明:  
  “在微信浏览器里面打开H5网页中执行JS调起支付。接口输入输出数据格式为JSON。
  注意:WeixinJSBridge内置对象在其他浏览器中无效。
  列表中参数名区分大小,大小写错误签名验证会失败。”
  OK,这里说明了几个事情,第一必须在微信浏览器进行;第二,参数区分大小写;第三,数据格式为JSON。
  官方说明,只要在页面中调用如下脚本,即可开启微信支付功能:
1 function onBridgeReady(){
WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
"appId" : "wx0ec43b",
//公众号名称,由商户传入
"timeStamp":" ",
//时间戳,自1970年以来的秒数
"nonceStr" : "e61463f8efacccfbbb444", //随机串
"package" : "prepay_id=u802345jgfjsdfgsdg888",
"signType" : "MD5",
//微信签名方式:
"paySign" : "70EABB79628FBCAFADD89" //微信签名
function(res){
if(res.err_msg == "get_brand_wcpay_request:ok" ) {}
// 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回
ok,但并不保证它绝对可靠。
16 if (typeof WeixinJSBridge == "undefined"){
if( document.addEventListener ){
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
}else if (document.attachEvent){
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
onBridgeReady();
  我的调用代码:因为我要在点击按钮确认支付之后,在调用微信支付进行后续操作,把官方代码提出到方法中
function onBridgeReady() {
WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
"appId": $('#APPID').val(),
//公众号名称,由商户传入
"timeStamp": $('#Timestamp').val(),
//时间戳,自1970年以来的秒数
"nonceStr": $('#Noncestr').val(), //随机串
"package": $('#package').val(),
"signType": "MD5",
//微信签名方式:
"paySign": $('#paySign').val() //微信签名
function (res) {
if (res.err_msg == "get_brand_wcpay_request:ok") {
//支付成功,后续自行处理
//支付取消,或者其他错误,自行处理
  好吧,那这堆参数是从哪来的,都是啥玩意儿?我们逐个分析一下:
  appId:这个做微信开发都应该知道,公众号在开发者菜单就能找到
  timeStamp:时间戳,官方描述为“自1970年以来的秒数”,不用担心,肯定能从支付类库里找到
  nonceStr:官方解释是随机串“e61463f8efacccfbbb444”,靠啥玩意儿?详见,原来就是一套加密规则和算法,做过URL请求接口的朋友应该知道,有些公司JSON串的签名方式和这比较类似。
  package:预支付ID,调用官方API统一下单接口可以获得
  signType:字符串"MD5" & &
  paySign:官方解释是微信签名“70EABB79628FBCAFADD89”,好吧,我忍了,在看下,看来和随机串一个鸟样&
  到这里,官方的接口说明已经了解的很清楚了,那么下面就要解决调用微信支付的这几个参数了,通过Senparc.Weixin.MP.dll应该如何使用呢?既然需要先调用统一下单接口获取预支付订单ID,好吧,我们先来研究一下,如何获得这个ID吧。
  官方给出了,我们不在赘述,各参数研究按照上述接口的方式自行研究解决,唯一区别在于,调用官方接口需要传入一个XML,那很好办,拼接一下就可以了,预支付调用方法如下:
//这里通过官方的一个实体,用户自行使用,我这里是直接读取的CONFIG文件
private static Senparc.Weixin.MP.TenPayLibV3.TenPayV3Info tenPayV3Info = new Senparc.Weixin.MP.TenPayLibV3.TenPayV3Info(ConfigurationManager.AppSettings["corpId"], ConfigurationManager.AppSettings["corpSecret"], ConfigurationManager.AppSettings["mch_id"]
, ConfigurationManager.AppSettings["key"], ConfigurationManager.AppSettings["v3url"]);
/// &summary&
/// 微信预支付
/// &/summary&
/// &param name="attach"&&/param&
/// &param name="body"&&/param&
/// &param name="openid"&&/param&
/// &param name="price"&&/param&
/// &param name="orderNum"&&/param&
/// &returns&&/returns&
public static string PayInfo(string attach, string body, string openid, string price, string orderNum = "3549")
RequestHandler requestHandler = new RequestHandler(HttpContext.Current);
//微信分配的公众账号ID(企业号corpid即为此appId)
requestHandler.SetParameter("appid", tenPayV3Info.AppId);
//附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据
requestHandler.SetParameter("attach", attach);
//商品或支付单简要描述
requestHandler.SetParameter("body", body);
//微信支付分配的商户号
requestHandler.SetParameter("mch_id", tenPayV3Info.MchId);
//随机字符串,不长于32位。
requestHandler.SetParameter("nonce_str", TenPayUtil.GetNoncestr());
//接收微信支付异步通知回调地址,通知url必须为直接可访问的url,不能携带参数。
requestHandler.SetParameter("notify_url", tenPayV3Info.TenPayV3Notify);
//trade_type=JSAPI,此参数必传,用户在商户公众号appid下的唯一标识。
requestHandler.SetParameter("openid", openid);
//商户系统内部的订单号,32个字符内、可包含字母,自己生成
requestHandler.SetParameter("out_trade_no", orderNum);
//APP和网页支付提交用户端ip,Native支付填调用微信支付API的机器IP。
requestHandler.SetParameter("spbill_create_ip", "127.0.0.1");
//订单总金额,单位为分,做过银联支付的朋友应该知道,代表金额为12位,末位分分
requestHandler.SetParameter("total_fee", price);
//取值如下:JSAPI,NATIVE,APP,我们这里使用JSAPI
requestHandler.SetParameter("trade_type", "JSAPI");
requestHandler.SetKey(tenPayV3Info.Key);
requestHandler.CreateMd5Sign();
requestHandler.GetRequestURL();
requestHandler.CreateSHA1Sign();
string data = requestHandler.ParseXML();
requestHandler.GetDebugInfo();
//获取并返回预支付XML信息
return TenPayV3.Unifiedorder(data);
好的,拿到预支付订单的返回数据,一切又都好办了,根据返回参数的不同,自行解决,我们只关心调用正确的过程,操作继续,在返回的正确XML数据中,我们获取到了&&prepay_id&&![CDATA[wx507cbf6ffd8b]]&&/prepay_id&(官方示例),好的,开始在页面做支付吧!
这里,我封装了一个实体,用来传输常用的数据,当然,各位也可以参考Senparc.Weixin.MP.dll提供的实体类。
public class ShareInfo
string corpId = string.E
public string CorpId
get { return corpId; }
set { corpId = }
string ticket = string.E
public string Ticket
get { return }
set { ticket = }
string noncestr = string.E
public string Noncestr
get { return }
set { noncestr = }
string timestamp = string.E
public string Timestamp
get { return }
set { timestamp = }
private string paySign = string.E
public string PaySign
get { return payS }
set { paySign = }
private string package = string.E
public string Package
get { return }
set { package = }
我们继续,来看一下支付接口需要用到的参数如何获取:
public static ShareInfo GetPayInfo(string prepayid)
shareInfo = new ShareInfo();
//检查是否已经注册jssdk
if (!JsApiTicketContainer.CheckRegistered(corpId))
JsApiTicketContainer.Register(corpId, corpSecret);
JsApiTicketResult jsApiTicket = JsApiTicketContainer.GetTicketResult(corpId);
JSSDKHelper jssdkHelper = new JSSDKHelper();
shareInfo.Ticket = jsApiTicket.
shareInfo.CorpId = corpId.ToLower();
shareInfo.Noncestr = JSSDKHelper.GetNoncestr().ToLower();
shareInfo.Timestamp = JSSDKHelper.GetTimestamp().ToLower();
shareInfo.Package="prepay_id=" + prepayid.ToLower();
RequestHandler requestHandler = new RequestHandler(HttpContext.Current);
requestHandler.SetParameter("appId", shareInfo.CorpId);
requestHandler.SetParameter("timeStamp", shareInfo.Timestamp);
requestHandler.SetParameter("nonceStr", shareInfo.Noncestr);
requestHandler.SetParameter("package", shareInfo.Package);
requestHandler.SetParameter("signType", "MD5");
requestHandler.SetKey(tenPayV3Info.Key);
requestHandler.CreateMd5Sign();
requestHandler.GetRequestURL();
requestHandler.CreateSHA1Sign();
shareInfo.PaySign = (requestHandler.GetAllParameters()["sign"]).ToString();
return shareI
这样,支付接口需要用到的参数,就都封装在ShareInfo里了,好吧,调用之后,我们回到页面的后置代码中,或者你采用的ORM对应代码中去,将参数输出到页面
//处理页面支付调用信息
ShareInfo shareInfo = TenPayModule.GetPayInfo(prepayid);
System.Web.HttpContext.Current.Response.Write(string.Format("&input type=\"hidden\" id=\"Noncestr\" runat=\"server\" value=\"{0}\" /&", shareInfo.Noncestr));
System.Web.HttpContext.Current.Response.Write(string.Format("&input type=\"hidden\" id=\"Timestamp\" runat=\"server\" value=\"{0}\" /&", shareInfo.Timestamp));
System.Web.HttpContext.Current.Response.Write(string.Format("&input type=\"hidden\" id=\"APPID\" runat=\"server\" value=\"{0}\" /&", shareInfo.CorpId));
System.Web.HttpContext.Current.Response.Write(string.Format("&input type=\"hidden\" id=\"paySign\" runat=\"server\" value=\"{0}\" /&", shareInfo.PaySign));
System.Web.HttpContext.Current.Response.Write(string.Format("&input type=\"hidden\" id=\"package\" runat=\"server\" value=\"{0}\" /&", shareInfo.Package));
好的,写到这里,大家参照上面的JS代码,就可以完成整个的支付功能了。最后,再附送一个生成商家订单号的方法,代码如下:
public string GetOrderNumber()
string Number = DateTime.Now.ToString("yyMMddHHmmss");
return Number + Next(1000, 1).ToString();
private static int Next(int numSeeds, int length)
byte[] buffer = new byte[length];
System.Security.Cryptography.RNGCryptoServiceProvider Gen = new System.Security.Cryptography.RNGCryptoServiceProvider();
Gen.GetBytes(buffer);
uint randomResult = 0x0;
for (int i = 0; i & i++)
randomResult |= ((uint)buffer[i] && ((length - 1 - i) * 8));
return (int)(randomResult % numSeeds);
好了,一切都是这样的简单,一两个小时,微信支付轻松搞定!
发表评论:
TA的推荐TA的最新馆藏关键字:微信支付 微信支付v3 jsapi支付 统一支付 Native支付 prepay_id&作者:方倍工作室原文:&&
本文介绍微信支付下的jsapi实现流程
微信支付现在分为v2版和v3版,号之前申请的为v2版,之后申请的为v3版。V3版的微信支付没有paySignKey参数。v2的相关介绍请参考方倍工作室的其他文章。本文介绍的微信支付v3。
1. OAuth2.0授权
JSAPI 支付前需要调用 登录授权接口获取到用户的 Openid 。所以需要做一次授权,这次授权是不弹出确认框的。其实质就是在用户访问
http://www.fangbei.org/wxpay/js_api_call.php
https://open./connect/oauth2/authorize?appid=wx8888&redirect_uri=http://www.fangbei.org/wxpay/js_api_call.php&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect
以此来获得code参数,并根据code来获得授权access_token及openid
其实现的详细流程可参考&
在微信支付的Demo中,其代码为
1 //使用jsapi接口
2 $jsApi = new JsApi_pub();
4 //=========步骤1:网页授权获取用户openid============
5 //通过code获得openid
6 if (!isset($_GET['code']))
//触发微信返回code码
$url = $jsApi-&createOauthUrlForCode(WxPayConf_pub::JS_API_CALL_URL);
Header("Location: $url");
//获取code码,以获取openid
$code = $_GET['code'];
$jsApi-&setCode($code);
$openid = $jsApi-&getOpenId();
这一步的最终结果就是获得了当前用户的openid
ou9dHt0L8qFLI1foP-kj5x1mDWsM
2. 统一支付
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返回预支付订单号的接口,目前微信支付所有场景均使用这一接口统一支付中以下参数从配置中获取,或由类自动生成,不需要用户填写
$this-&parameters["appid"] = WxPayConf_pub::APPID;//公众账号ID
$this-&parameters["mch_id"] = WxPayConf_pub::MCHID;//商户号
$this-&parameters["spbill_create_ip"] = $_SERVER['REMOTE_ADDR'];//终端ip
$this-&parameters["nonce_str"] = $this-&createNoncestr();//随机字符串
$this-&parameters["sign"] = $this-&getSign($this-&parameters);//签名
在JSAPI支付中,另外填写以下参数
//统一支付接口中,trade_type为JSAPI时,openid为必填参数!
$unifiedOrder-&setParameter("openid","$openid");//商品描述
$unifiedOrder-&setParameter("body","方倍工作室");//商品描述
//自定义订单号,此处仅作举例
$timeStamp = time();
$out_trade_no = WxPayConf_pub::APPID."$timeStamp";
$unifiedOrder-&setParameter("out_trade_no","$out_trade_no");//商户订单号
$unifiedOrder-&setParameter("total_fee","1");//总金额
$unifiedOrder-&setParameter("notify_url",WxPayConf_pub::NOTIFY_URL);//通知地址
$unifiedOrder-&setParameter("trade_type","JSAPI");//交易类型
其他为选填参数
//非必填参数,商户可根据实际情况选填
//$unifiedOrder-&setParameter("sub_mch_id","XXXX");//子商户号
//$unifiedOrder-&setParameter("device_info","XXXX");//设备号
//$unifiedOrder-&setParameter("attach","XXXX");//附加数据
//$unifiedOrder-&setParameter("time_start","XXXX");//交易起始时间
//$unifiedOrder-&setParameter("time_expire","XXXX");//交易结束时间
//$unifiedOrder-&setParameter("goods_tag","XXXX");//商品标记
//$unifiedOrder-&setParameter("openid","XXXX");//用户标识
//$unifiedOrder-&setParameter("product_id","XXXX");//商品ID
这些参数最终组成了这样的xml数据,
&openid&&![CDATA[ou9dHt0L8qFLI1foP-kj5x1mDWsM]]&&/openid&
&body&&![CDATA[方倍工作室]]&&/body&
&out_trade_no&&![CDATA[wx79]]&&/out_trade_no&
&total_fee&1&/total_fee&
&notify_url&&![CDATA[http://www.fangbei.org/wxpay/notify_url.php]]&&/notify_url&
&trade_type&&![CDATA[JSAPI]]&&/trade_type&
&appid&&![CDATA[wx8888]]&&/appid&
&mch_id&&/mch_id&
&spbill_create_ip&&![CDATA[61.50.221.43]]&&/spbill_create_ip&
&nonce_str&&![CDATA[60uf9sh6nmppr9azveb2bn7arhy79izk]]&&/nonce_str&
&sign&&![CDATA[2D8ABBA23D0F]]&&/sign&
将这些数据提交给统一支付接口
https://api.mch./pay/unifiedorder
将获得返回 如下数据
&return_code&&![CDATA[SUCCESS]]&&/return_code&
&return_msg&&![CDATA[OK]]&&/return_msg&
&appid&&![CDATA[wx8888]]&&/appid&
&mch_id&&![CDATA[]]&&/mch_id&
&nonce_str&&![CDATA[Be8YX7gjCdtCT7cr]]&&/nonce_str&
&sign&&![CDATA[885B6D8EF753A00C8EEDB]]&&/sign&
&result_code&&![CDATA[SUCCESS]]&&/result_code&
&prepay_id&&![CDATA[wx]]&&/prepay_id&
&trade_type&&![CDATA[JSAPI]]&&/trade_type&
其中包含了最重要的预支付ID参数,prepay_id,值为&
3、JS API支付
前面的准备工作做好了以后,JS API根据prepay_id生成jsapi支付参数生成代码如下
//=========步骤3:使用jsapi调起支付============
$jsApi-&setPrepayId($prepay_id);
$jsApiParameters = $jsApi-&getParameters();
生成的json数据如下
"appId": "wx8888",
"timeStamp": "",
"nonceStr": "gbwr71b5no6q6ne18c8up1u7l7he2y75",
"package": "prepay_id=wx",
"signType": "MD5",
"paySign": "9CF851EBF6C7D"
在微信浏览器中调试起js接口,代码如下
&meta http-equiv="content-type" content="text/charset=utf-8"/&
&title&微信安全支付&/title&
&script type="text/javascript"&
//调用微信JS api 支付
function jsApiCall()
WeixinJSBridge.invoke(
'getBrandWCPayRequest',
&?php echo $jsApiP ?&,
function(res){
WeixinJSBridge.log(res.err_msg);
//alert(res.err_code+res.err_desc+res.err_msg);
function callpay()
if (typeof WeixinJSBridge == "undefined"){
if( document.addEventListener ){
document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);
}else if (document.attachEvent){
document.attachEvent('WeixinJSBridgeReady', jsApiCall);
document.attachEvent('onWeixinJSBridgeReady', jsApiCall);
jsApiCall();
&/br&&/br&&/br&&/br&
&div align="center"&
&button style="width:210 height:30 background-color:#FE6714; border:0px #FE6714 cursor:
font-size:16" type="button" onclick="callpay()" &贡献一下&/button&
当用户点击&贡献一下&按钮时,将弹出微信支付插件,用户可以开始支付。
4、支付通知
支付成功后,通知接口中也将收到支付成功的xml通知
&appid&&![CDATA[wx8888]]&&/appid&
&bank_type&&![CDATA[CFT]]&&/bank_type&
&fee_type&&![CDATA[CNY]]&&/fee_type&
&is_subscribe&&![CDATA[Y]]&&/is_subscribe&
&mch_id&&![CDATA[]]&&/mch_id&
&nonce_str&&![CDATA[60uf9sh6nmppr9azveb2bn7arhy79izk]]&&/nonce_str&
&openid&&![CDATA[ou9dHt0L8qFLI1foP-kj5x1mDWsM]]&&/openid&
&out_trade_no&&![CDATA[wx79]]&&/out_trade_no&
&result_code&&![CDATA[SUCCESS]]&&/result_code&
&return_code&&![CDATA[SUCCESS]]&&/return_code&
&sign&&![CDATA[0C1D7F550A5A138F0CEB]]&&/sign&
&sub_mch_id&&![CDATA[]]&&/sub_mch_id&
&time_end&&![CDATA[58]]&&/time_end&
&total_fee&1&/total_fee&
&trade_type&&![CDATA[JSAPI]]&&/trade_type&
&transaction_id&&![CDATA[4026]]&&/transaction_id&
阅读(...) 评论()本文介绍微信支付v2和v3版的微信支付开发教程,来源于微信公众平台官方网站。
原文:/txw1958/p/wxpay-development-document.html
微信支付现在分为v2版和v3版,号之前申请的为v2版,之后申请的为v3版。V3版的微信支付没有paySignKey参数。
一、微信支付v2&
1. 使用网页授权接口
使用网页授权接口获取用户的基本信息。&【微信公众号】OAuth2.0授权.pdf
2. 使用共享收货地址控件
使用共享收货地址控件,获取用户在微信的收货地址。【微信公众号支付】收货地址共享接口文档V1.6.pdf
3. 使用公众号发起支付请求
使用JS API在微信的网页中发起支付请求,详细方法见文档中有关JS API的章节。使用Native API发起支付请求,详细方法文档中有关Native API的章节。微信支付接口文档及demo(公众账号).zip
4. 接入客服维权系统
所有公众号商户必须接入客服维权系统。接入客服维权系统后,用户可以通过自定义菜单中&维权&菜单,选择订单,向微信发起维权请求。微信将会把维权信息通过payfeedback_url通知到商户,商户必须在规定时间内处理维权请求。【微信公众号支付】用户维权系统及接口说明V1.6.pdf
5. 在第三方应用上发起支付请求
在iOS平台和android平台上的第三方应用,通过微信支付SDK发起支付请求。微信支付接口文档及demo(APP).zip
6. 微信支付退款&对账
使用微信支付退款和对账功能,帮助轻松实现退款和对账。微信支付(退款&对账接口)文档.zip
二、微信支付v3
提示:因微信支付商户平台升级,若您在资料审核通过后,收到支付小助手发送的邮件通知为以下信息,请按本页面接口文档进行支付开发。1、 信息包括:商户ID、申请编号、登录帐号、登录密码、商户API密码2.、证书包括:商户API证书、证书密钥、CA证书
1. 使用网页授权接口
使用网页授权接口获取用户的基本信息。&【微信公众号】OAuth2.0授权.pdf
2. 使用共享收货地址控件
使用共享收货地址控件,获取用户在微信的收货地址。【微信公众号支付】收货地址共享接口文档V1.6.pdf
3. 使用公众号发起支付请求
使用JS API在微信的网页中发起支付请求,详细方法见文档中有关JS API的章节。使用Native API发起支付请求,详细方法见文档中有关Native API的章节。微信支付接口文档及demo(公众账号).zip
4. 使用被扫发起支付请求
使用被扫的方式在微信中发起支付请求,详细方法见接口文档。微信支付接口文档(被扫支付).zip
5. 在第三方应用上发起支付请求
在iOS平台和android平台上的第三方应用,通过微信支付SDK发起支付请求。微信支付接口文档及demo(APP).zip(文档更新中,近日将补充完善)
阅读(...) 评论()是由腾讯公司知名移动社交通讯软件微信及第三方支付平台财付通联合推出的移动支付创新产品,旨在为广大微信用户及商户提供更优质的支付服务,微信的支付和安全系统由腾讯财付通提供支持。财付通是持有互联网支付牌照并具备完备的安全体系的第三方支付平台。
微信支付功能
目前微信支付商户功能,是公众平台向有出售物品需求的公众号提供推广销售丶支付收款丶经营分析的整套解决方案。商户通过自定义菜单丶关键字回复等方式向订阅用户推送商品消息,用户可在微信公众号中完成选购支付的流程。商户也可以把商品网页生成二维码,张贴在线下的场景,如车站和广告海报。用户扫描后可打开商品详情,在微信中直接购买。
目前,部分个人丶个体户也有机会开通微信官方的支付功能及官网微小店。其他企业丶机关单位丶学校等,均可联系舒尔营销在线工作人员,帮忙开通微信支付及微信小店功能。
填写商户基本资料
选择支付场景丶商品类目等内容
填写业务审核资料
填写企业联系人丶营业执照等信息,并上传相关证件扫描件
填写财务审核资料
微信支付申请开通可联系舒尔营销在线工作人员&
填写企业银行账户相关信息
资料审核通过后即可下载承诺函,打印盖章后回寄盖章原件
确认商户信息丶在线签署微信支付服务协议
协议已签署后,可全网发布产品,面向全部微信用户销售商品或提供服务
承诺函已签署,且协议已签署后,系统将自动开启资金结算
@你关注的人或派友
亲,先登录哦!
【线下加油站】
9月24日-9月27日(4天4夜)
电商服务商o【优选】
学做电商 点这里就对了!
十年沉淀成就电商ERP用户数第一!
【查排名】专业免费卖家工具箱!
请输入姓名:
请输入对方邮件地址:
您的反馈对我们至关重要!

我要回帖

更多关于 支付宝移动开发者平台 的文章

 

随机推荐