微信支付百世快递单号几位数一共三十几位28位数是哪28位

微信支付问题、重新请求下单、商户单号重复
微信请求统一下单后,修改了价格再次发送请求 就提示商户单号重复,用的是订单号请求的。不想两次请求更改为不同的订单号。 图片上这两个 参数有什么作用。设置了 订单失效时间。但时间都过了,去查询的时候,订单依然是未支付状态不会失效。 而且我调用关闭订单,关闭该订单号的,再重新发起请求商户单号重复,也是。请问这种情况下,该怎么处理?
针对于修改价格这种情况,就不能直接用不会改变的订单号去请求了,有一个比较简单的方式,就是每次支付的时候在订单号后面加上'_323232' ,下划线和随机值,微信支付成功返回的时候去掉下划线后面的即可得到实际订单号。
--- 共有 1 条评论 ---
还有一种方式就是订单和支付分开,每次订单支付的时候就去请求支付系统,支付系统在表里生成一个支付流水号,用这个流水号去当成订单号完成支付
强烈不推荐。最稳妥就是一个订单号一个支付流。
不然涉及到后期的对账、退款等都是自己给自己找事。
如果用户重复支付了,后面查账更是麻烦。
所以支付公司限制了订单号,一个订单号只能有一笔交易。
--- 共有 2 条评论 ---
: 以前财付通订单号不唯一,尼玛有客户银行卡支付的,结果有银行出问题了回调没到财付通那,其他银行又支付了,悲剧的订单重复支付,退款只能找财付通的人。
所以为了避免这个问题,他们借鉴了支付宝的经验。
老老实实的重新生成订单号吧,不然坑的就是你自己。
你好,对于我这种情况,有没有什么好的处理思想?
你好,如果这样弄的话,那下载对账单的时候,处理起来,会不会很麻烦?&
修改了价格也可以认为是一笔新交易,原交易直接作废。
--- 共有 1 条评论 ---
你好,作废是指把自己后台先前的订单作废吗?
可是我用先前的订单号请求过统一下单,修改价格后,单号没变,再次请求就报
商户单号重复
RandomUtils
--- 共有 1 条评论 ---
这不是个 产生随机值的工具么?
试用一下BeeCloud秒支付吧,这些问题完全都不需要自己处理了,
请问楼主的问题解决了没?我目前遇到一个类似问题,商户订单号可以重复请求下单接口,但是如果修改了价格就会出现订单号重复的错误,只有先关闭之前的订单,重新发起订单,但是微信支付要关闭订单,得是订单生成5分钟之后
--- 共有 1 条评论 ---
https://pay./wiki/doc/api/jsapi.php?chapter=4_2
参数规定6:已支付过或已调用关单、撤销(请见后文的API列表)的订单号不能重新发起支付。
所以就算你关闭订单(当然需要),也不能以原来的订单号重新发起请求微信API接口(全) - 微信支付/微信红包/微信卡券/微信小店/JSAPI - 开源中国社区
当前访客身份:游客 [
当前位置:
发布于 日 13时,
微信入口绑定,微信事件处理,微信API全部操作包含在这些文件中。微信支付、微信红包、微信卡券、微信小店。微信开发探讨群&
代码片段(5)
1.&[代码]index.php&&&&
include_once 'lib.inc.php';
$wcObj = new WeChat("YOUKUIYUAN");
$wcObj-&wcValid();
2.&[代码]微信入口类&&&&
* Description of wechat
* @author Administrator
class WeChat extends WxApi{
public $token = "";
//put your code here
public function __construct($token = "") {
parent::__construct();
$this-&token = $
public function wcCheckSignature(){
if (empty($this-&token)) {
throw new Exception('TOKEN is not defined!');
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = $this-&
$tmpArr = array($token, $timestamp, $nonce);
// use SORT_STRING rule
sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
catch (Exception $e) {
echo 'Message: ' .$e-&getMessage();
public function wcValid(){
$echoStr = isset($_GET["echostr"]) && !empty($_GET["echostr"]) ? addslashes($_GET["echostr"]) : NULL;
if(is_null($echoStr)){
$this-&wcMsg();
//valid signature , option
if($this-&wcCheckSignature()){
echo $echoS
public function wcMsg(){
//get post data, May be due to the different environments
$postStr = isset($GLOBALS["HTTP_RAW_POST_DATA"]) && !empty($GLOBALS["HTTP_RAW_POST_DATA"]) ? $GLOBALS["HTTP_RAW_POST_DATA"] : "";
if(!empty($postStr)){
libxml_disable_entity_loader(true);
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$this-&zcLog(TRUE,$postObj);
$fromUsername = $postObj-&FromUserN
$toUsername = $postObj-&ToUserN
$MsgType = $postObj-&MsgT
if($MsgType == 'event'){//执行事件相应
$Event = $postObj-&E
switch ($Event) {
case 'subscribe'://关注
case 'unsubscribe'://取消关注
case 'SCAN'://扫描
case 'LOCATION'://地址
case 'CLICK'://点击时间
case 'VIEW'://跳转
case 'card_pass_check'://卡券审核通过
case 'card_not_pass_check'://卡券审核失败
case 'user_get_card'://用户领取卡券
case 'user_del_card'://用户删除卡券
case 'user_view_card'://用户浏览会员卡
case 'user_consume_card'://用户核销卡券
case 'merchant_order'://微小店用户下单付款
switch ($MsgType) {
case 'text'://文本格式
case 'image'://图片格式
case 'voice'://声音
case 'video'://视频
case 'shortvideo'://小视频
case 'location'://上传地理位置
case 'link'://链接相应
////////////////////////////////////////////////////////////////////
$keyword = trim($postObj-&Content);
$time = time();
$textTpl = "&xml&
&ToUserName&&![CDATA[%s]]&&/ToUserName&
&FromUserName&&![CDATA[%s]]&&/FromUserName&
&CreateTime&%s&/CreateTime&
&MsgType&&![CDATA[%s]]&&/MsgType&
&Content&&![CDATA[%s]]&&/Content&
&FuncFlag&0&/FuncFlag&
if(!empty( $keyword )){
$msgType = "text";
$contentStr = "Welcome to wechat world!";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultS
echo "Input something...";
////////////////////////////////////////////////////////////////////
echo "暂时没有任何信息!";
public function zcLog($errcode , $errmsg){
$this-&returnAy = array();
$this-&returnAy['errcode'] = $
$this-&returnAy['errmsg'] = $
$this-&returnAy['errtime'] = date("Y-m-d H:i:s",time());
$logfile = fopen("logfile_".date("Ymd",time()).".txt", "a+");
$txt = json_encode($this-&returnAy)."\n";
fwrite($logfile, $txt);
fclose($logfile);
//return $this-&returnAy;
3.&[代码]微信操作类 - 更新了自定义菜单部分&&&&
/********************************************************
@author Kyler You &QQ:&
@link http://mp./wiki/home/index.html
@version 2.0.1
@uses $wxApi = new WxApi();
@package 微信API接口 陆续会继续进行更新
********************************************************/
class WxApi {
//const appId
//const appSecret
const appId
const appSecret
//const mchid
= ""; //商户号
//const privatekey
= ""; //私钥
public $parameters
= array();
public function __construct(){
/****************************************************
* 微信提交API方法,返回微信指定JSON
****************************************************/
public function wxHttpsRequest($url,$data = null){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
if (!empty($data)){
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
/****************************************************
微信带证书提交数据 - 微信红包使用
****************************************************/
public function wxHttpsRequestPem($url, $vars, $second=30,$aHeader=array()){
$ch = curl_init();
//超时时间
curl_setopt($ch,CURLOPT_TIMEOUT,$second);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
//这里设置代理,如果有的话
//curl_setopt($ch,CURLOPT_PROXY, '10.206.30.98');
//curl_setopt($ch,CURLOPT_PROXYPORT, 8080);
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);
//以下两种方式需选择一种
//第一种方法,cert 与 key 分别属于两个.pem文件
//默认格式为PEM,可以注释
curl_setopt($ch,CURLOPT_SSLCERTTYPE,'PEM');
curl_setopt($ch,CURLOPT_SSLCERT,getcwd().'/apiclient_cert.pem');
//默认格式为PEM,可以注释
curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM');
curl_setopt($ch,CURLOPT_SSLKEY,getcwd().'/apiclient_key.pem');
curl_setopt($ch,CURLOPT_CAINFO,'PEM');
curl_setopt($ch,CURLOPT_CAINFO,getcwd().'/rootca.pem');
//第二种方式,两个文件合成一个.pem文件
//curl_setopt($ch,CURLOPT_SSLCERT,getcwd().'/all.pem');
if( count($aHeader) &= 1 ){
curl_setopt($ch, CURLOPT_HTTPHEADER, $aHeader);
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$vars);
$data = curl_exec($ch);
if($data){
curl_close($ch);
$error = curl_errno($ch);
echo "call faild, errorCode:$error\n";
curl_close($ch);
/****************************************************
* 微信获取AccessToken 返回指定微信公众号的at信息
****************************************************/
public function wxAccessToken($appId = NULL , $appSecret = NULL){
= is_null($appId) ? self::appId : $appId;
$appSecret
= is_null($appSecret) ? self::appSecret : $appS
$data = json_decode(file_get_contents("access_token.json"));
if ($data-&expire_time & time()) {
//echo $appId,$appS
= "https://api./cgi-bin/token?grant_type=client_credential&appid=".$appId."&secret=".$appS
= $this-&wxHttpsRequest($url);
//print_r($result);
= json_decode($result, true);
$access_token
= $jsoninfo["access_token"];
if ($access_token) {
$data-&expire_time = time() + 7000;
$data-&access_token = $access_
$fp = fopen("access_token.json", "w");
fwrite($fp, json_encode($data));
fclose($fp);
$access_token = $data-&access_
return $access_
/****************************************************
* 微信获取AccessToken 返回指定微信公众号的at信息
****************************************************/
public function wxJsApiTicket($appId = NULL , $appSecret = NULL){
= is_null($appId) ? self::appId : $appId;
$appSecret
= is_null($appSecret) ? self::appSecret : $appS
$data = json_decode(file_get_contents("jsapi_ticket.json"));
if ($data-&expire_time & time()) {
= "https://api./cgi-bin/ticket/getticket?type=jsapi&access_token=".$this-&wxAccessToken();
= $this-&wxHttpsRequest($url);
= json_decode($result, true);
$ticket = $jsoninfo['ticket'];
if ($ticket) {
$data-&expire_time = time() + 7000;
$data-&jsapi_ticket = $
$fp = fopen("jsapi_ticket.json", "w");
fwrite($fp, json_encode($data));
fclose($fp);
$ticket = $data-&jsapi_
/****************************************************
* 微信通过OPENID获取用户信息,返回数组
****************************************************/
public function wxGetUser($openId){
$wxAccessToken
= $this-&wxAccessToken();
= "https://api./cgi-bin/user/info?access_token=".$wxAccessToken."&openid=".$openId."&lang=zh_CN";
= $this-&wxHttpsRequest($url);
= json_decode($result, true);
/****************************************************
* 微信生成二维码ticket
****************************************************/
public function wxQrCodeTicket($jsonData){
$wxAccessToken
= $this-&wxAccessToken();
= "https://api./cgi-bin/qrcode/create?access_token=".$wxAccessT
= $this-&wxHttpsRequest($url,$jsonData);
/****************************************************
* 微信通过ticket生成二维码
****************************************************/
public function wxQrCode($ticket){
= "https://mp./cgi-bin/showqrcode?ticket=" . urlencode($ticket);
/****************************************************
发送自定义的模板消息
****************************************************/
public function wxSetSend($touser, $template_id, $url, $data, $topcolor = '#7B68EE'){
$template = array(
'touser' =& $touser,
'template_id' =& $template_id,
'url' =& $url,
'topcolor' =& $topcolor,
'data' =& $data
$jsonData = json_encode($template);
$result = $this-&wxSendTemplate($jsonData);
/****************************************************
* 微信设置OAUTH跳转URL,返回字符串信息 - SCOPE = snsapi_base //验证时不返回确认页面,只能获取OPENID
****************************************************/
public function wxOauthBase($redirectUrl,$state = "",$appId = NULL){
= is_null($appId) ? self::appId : $appId;
$url = "https://open./connect/oauth2/authorize?appid=".$appId."&redirect_uri=".$redirectUrl."&response_type=code&scope=snsapi_base&state=".$state."#wechat_redirect";
/****************************************************
* 微信设置OAUTH跳转URL,返回字符串信息 - SCOPE = snsapi_userinfo //获取用户完整信息
****************************************************/
public function wxOauthUserinfo($redirectUrl,$state = "",$appId = NULL){
= is_null($appId) ? self::appId : $appId;
$url = "https://open./connect/oauth2/authorize?appid=".$appId."&redirect_uri=".$redirectUrl."&response_type=code&scope=snsapi_userinfo&state=".$state."#wechat_redirect";
/****************************************************
* 微信OAUTH跳转指定URL
****************************************************/
public function wxHeader($url){
header("location:".$url);
/****************************************************
* 微信通过OAUTH返回页面中获取AT信息
****************************************************/
public function wxOauthAccessToken($code,$appId = NULL , $appSecret = NULL){
= is_null($appId) ? self::appId : $appId;
$appSecret
= is_null($appSecret) ? self::appSecret : $appS
$url = "https://api./sns/oauth2/access_token?appid=".$appId."&secret=".$appSecret."&code=".$code."&grant_type=authorization_code";
= $this-&wxHttpsRequest($url);
//print_r($result);
= json_decode($result, true);
//$access_token
= $jsoninfo["access_token"];
/****************************************************
* 微信通过OAUTH的Access_Token的信息获取当前用户信息 // 只执行在snsapi_userinfo模式运行
****************************************************/
public function wxOauthUser($OauthAT,$openId){
= "https://api./sns/userinfo?access_token=".$OauthAT."&openid=".$openId."&lang=zh_CN";
= $this-&wxHttpsRequest($url);
= json_decode($result, true);
/****************************************************
* 创建自定义菜单
****************************************************/
public function wxMenuCreate($jsonData){
$wxAccessToken
= $this-&wxAccessToken();
= "https://api./cgi-bin/menu/create?access_token=" . $wxAccessT
= $this-&wxHttpsRequest($url,$jsonData);
= json_decode($result, true);
/****************************************************
* 获取自定义菜单
****************************************************/
public function wxMenuGet(){
$wxAccessToken
= $this-&wxAccessToken();
= "https://api./cgi-bin/menu/get?access_token=" . $wxAccessT
= $this-&wxHttpsRequest($url);
= json_decode($result, true);
/****************************************************
* 删除自定义菜单
****************************************************/
public function wxMenuDelete(){
$wxAccessToken
= $this-&wxAccessToken();
= "https://api./cgi-bin/menu/delete?access_token=" . $wxAccessT
= $this-&wxHttpsRequest($url);
= json_decode($result, true);
/****************************************************
* 获取第三方自定义菜单
****************************************************/
public function wxMenuGetInfo(){
$wxAccessToken
= $this-&wxAccessToken();
= "https://api./cgi-bin/get_current_selfmenu_info?access_token=" . $wxAccessT
= $this-&wxHttpsRequest($url);
= json_decode($result, true);
/*****************************************************
生成随机字符串 - 最长为32位字符串
*****************************************************/
public function wxNonceStr($length = 16, $type = FALSE) {
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
$str = "";
for ($i = 0; $i & $ $i++) {
$str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
if($type == TRUE){
return strtoupper(md5(time() . $str));
/*******************************************************
微信商户订单号 - 最长28位字符串
*******************************************************/
public function wxMchBillno($mchid = NULL) {
if(is_null($mchid)){
if(self::mchid == "" || is_null(self::mchid)){
$mchid = time();
$mchid = self::
$mchid = substr(addslashes($mchid),0,10);
return date("Ymd",time()).time().$
/*******************************************************
微信格式化数组变成参数格式 - 支持url加密
*******************************************************/
public function wxSetParam($parameters){
if(is_array($parameters) && !empty($parameters)){
$this-&parameters = $
return $this-&
return array();
/*******************************************************
微信格式化数组变成参数格式 - 支持url加密
*******************************************************/
public function wxFormatArray($parameters = NULL, $urlencode = FALSE){
if(is_null($parameters)){
$parameters = $this-&
$restr = "";//初始化空
ksort($parameters);//排序参数
foreach ($parameters as $k =& $v){//循环定制参数
if (null != $v && "null" != $v && "sign" != $k) {
if($urlencode){//如果参数需要增加URL加密就增加,不需要则不需要
$v = urlencode($v);
$restr .= $k . "=" . $v . "&";//返回完整字符串
if (strlen($restr) & 0) {//如果存在数据则将最后“&”删除
$restr = substr($restr, 0, strlen($restr)-1);
return $//返回字符串
/*******************************************************
微信MD5签名生成器 - 需要将参数数组转化成为字符串[wxFormatArray方法]
*******************************************************/
public function wxMd5Sign($content, $privatekey){
if (is_null($privatekey)) {
throw new Exception("财付通签名key不能为空!");
if (is_null($content)) {
throw new Exception("财付通签名内容不能为空");
$signStr = $content . "&key=" . $
return strtoupper(md5($signStr));
catch (Exception $e)
die($e-&getMessage());
/*******************************************************
微信Sha1签名生成器 - 需要将参数数组转化成为字符串[wxFormatArray方法]
*******************************************************/
public function wxSha1Sign($content){
if (is_null($content)) {
throw new Exception("签名内容不能为空");
//$signStr = $
return sha1($content);
catch (Exception $e)
die($e-&getMessage());
/*******************************************************
微信jsApi整合方法 - 通过调用此方法获得jsapi数据
*******************************************************/
public function wxJsapiPackage(){
$jsapi_ticket = $this-&wxJsApiTicket();
// 注意 URL 一定要动态获取,不能 hardcode.
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
$url = $protocol.$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
$timestamp = time();
$nonceStr = $this-&wxNonceStr();
$signPackage = array(
"jsapi_ticket" =& $jsapi_ticket,
"nonceStr"
=& $nonceStr,
"timestamp" =& $timestamp,
// 这里参数的顺序要按照 key 值 ASCII 码升序排序
$rawString = "jsapi_ticket=$jsapi_ticket&noncestr=$nonceStr&timestamp=$timestamp&url=$url";
//$rawString = $this-&wxFormatArray($signPackage);
$signature = $this-&wxSha1Sign($rawString);
$signPackage['signature'] = $
$signPackage['rawString'] = $rawS
$signPackage['appId'] = self::appId;
return $signP
/*******************************************************
将数组解析XML - 微信红包接口
*******************************************************/
public function wxArrayToXml($parameters = NULL){
if(is_null($parameters)){
$parameters = $this-&
if(!is_array($parameters) || empty($parameters)){
die("参数不为数组无法解析");
$xml = "&xml&";
foreach ($arr as $key=&$val)
if (is_numeric($val))
$xml.="&".$key."&".$val."&/".$key."&";
$xml.="&".$key."&&![CDATA[".$val."]]&&/".$key."&";
$xml.="&/xml&";
/*******************************************************
微信卡券:上传LOGO - 需要改写动态功能
*******************************************************/
public function wxCardUpdateImg() {
$wxAccessToken
= $this-&wxAccessToken();
//$data['access_token'] =
$wxAccessT
$data['buffer']
'@D:\\workspace\\htdocs\\yky_test\\logo.jpg';
= "https://api./cgi-bin/media/uploadimg?access_token=".$wxAccessT
= $this-&wxHttpsRequest($url,$data);
= json_decode($result, true);
//array(1) { ["url"]=& string(121) "/mmbiz/ibuYxPHqeXePNTW4ATKyias1Cf3zTKiars9PFPzF1k5icvXD7xW0kXUAxHDzkEPd9micCMCN0dcTJfW6Tnm93MiaAfRQ/0" }
/*******************************************************
微信卡券:获取颜色
*******************************************************/
public function wxCardColor(){
$wxAccessToken
= $this-&wxAccessToken();
= "https://api./card/getcolors?access_token=".$wxAccessT
= $this-&wxHttpsRequest($url);
= json_decode($result, true);
/*******************************************************
微信卡券:创建卡券
*******************************************************/
public function wxCardCreated($jsonData) {
$wxAccessToken
= $this-&wxAccessToken();
= "https://api./card/create?access_token=" . $wxAccessT
= $this-&wxHttpsRequest($url,$jsonData);
= json_decode($result, true);
/*******************************************************
微信卡券:JSAPI 卡券Package - 基础参数没有附带任何值 - 再生产环境中需要根据实际情况进行修改
*******************************************************/
public function wxCardPackage($cardId){
$timestamp = time();
$api_ticket = $this-&wxJsApiTicket();
$cardId = $cardId;
$arrays = array($api_ticket,$timestamp,$cardId);
sort($arrays);
$string = sha1(implode("",$arrays));
$resultArray['card_id'] = $cardId;
$resultArray['card_ext'] = array();
$resultArray['card_ext']['openid'] = 'oOmn4s9MiwqHSNNvPn0dBtU23toA';
$resultArray['card_ext']['timestamp'] = $
$resultArray['card_ext']['signature'] = $
return $resultA
4.&[代码]微信JSAPI&&&&
require_once 'lib.inc.php';
$wx = new WxApi();
//通过网页获取openid
//if(!isset($_GET['code'])){
header("location:https://open./connect/oauth2/authorize?appid=".WxApi::appId."&redirect_uri=http://".$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']."&response_type=code&scope=snsapi_base&state=1#wechat_redirect");
$_GET['code'];
$Info = $wx-&wxOauthAccessToken($CODE);
//print_r($Info);
$openId = $Info['openid'];
////////////////////////////////////////////
$signPackage = $wx-&wxJsapiPackage();
//print_r($signPackage);
$kqInfo = $wx-&wxCardPackage("");
$listInfo = $wx-&wxCardListPackage();
&title&JSAPI接口测试&/title&
&meta charset="UTF-8"&
&meta name="viewport" content="width=device-width, initial-scale=1.0"&
&script src="/jquery-1.11.2.min.js"&&/script&
&script src="http://res./open/js/jweixin-1.0.0.js"&&/script&
&input type="button" id="batchAddCard" name="batchAddCard" value="添加卡券" /&&br /&
&input type="button" id="openCard" name="openCard" value="拉起卡券库" /&&br /&
&input type="button" id="ShareTimeLine" name="ShareTimeLine" value="分享朋友圈" /&&br /&
&div id="showInfo"&
wx.config({
debug: false,
appId: '&?php echo $signPackage["appId"];?&',
timestamp: &?php echo $signPackage["timestamp"];?&,
nonceStr: '&?php echo $signPackage["nonceStr"];?&',
signature: '&?php echo $signPackage["signature"];?&',
jsApiList: [
// 所有要调用的 API 都要加到这个列表中
'onMenuShareTimeline',
'onMenuShareAppMessage',
'addCard',
'openCard'
wx.ready(function () {
// 在这里调用 API
wx.onMenuShareAppMessage({
title: '互联网之子',
desc: '在长大的过程中,我才慢慢发现,我身边的所有事,别人跟我说的所有事,那些所谓本来如此,注定如此的事,它们其实没有非得如此,事情是可以改变的。更重要的是,有些事既然错了,那就该做出改变。',
link: '/subject//',
imgUrl: 'http://demo.open./jssdk/images/p.jpg',
trigger: function (res) {
// 不要尝试在trigger中使用ajax异步请求修改本次分享的内容,因为客户端分享操作是一个同步操作,这时候使用ajax的回包会还没有返回
alert('用户点击发送给朋友');
success: function (res) {
alert('已分享');
cancel: function (res) {
alert('已取消');
fail: function (res) {
alert(JSON.stringify(res));
document.querySelector('#ShareTimeLine').onclick = function () {
wx.onMenuShareTimeline({
title: '互联网之子',
link: '/subject//',
imgUrl: 'http://demo.open./jssdk/images/p.jpg',
trigger: function (res) {
// 不要尝试在trigger中使用ajax异步请求修改本次分享的内容,因为客户端分享操作是一个同步操作,这时候使用ajax的回包会还没有返回
alert('用户点击分享到朋友圈');
success: function (res) {
alert('已分享');
cancel: function (res) {
alert('已取消');
fail: function (res) {
alert(JSON.stringify(res));
document.querySelector('#batchAddCard').onclick = function () {
wx.addCard({
cardList: [
cardId: '***********************',
cardExt: '{"timestamp":"&?php echo $kqInfo['cardExt']['timestamp'];?&", "signature":"&?php echo $kqInfo['cardExt']['signature'];?&"}'
success: function (res) {
var cardList = res.cardL // 添加的卡券列表信息
alert(cardList);
cancel: function (res) {
alert('已取消');
fail: function (res) {
alert(JSON.stringify(res));
var shareData = {
title: '微信JS-SDK Demo',
desc: '微信JS-SDK,帮助第三方为用户提供更优质的移动web服务',
link: 'http://demo.open./jssdk/',
imgUrl: '/mmbiz/icTdbqWNOwNRt8Qia4lv7k3M9J1SKqKCImxJCt7j9rHYicKDI45jRPBxdzdyREWnk0ia0N5TMnMfth7SdxtzMvVgXg/0'
wx.onMenuShareAppMessage(shareData);
wx.onMenuShareTimeline(shareData);
var readyFunc = function onBridgeReady() {
// 绑定关注事件
document.querySelector('#openCard').addEventListener('click',
function(e) {
WeixinJSBridge.invoke('chooseCard', {
"app_id": "&?php echo $listInfo['app_id']?&",
"location_id ": '',
"sign_type": "SHA1",
"card_sign": "&?php echo $listInfo['card_sign']?&",
"card_id": "&?php echo $listInfo['card_id']?&",
"card_type": "&?php echo $listInfo['card_type']?&",
"time_stamp": "&?php echo $listInfo['time_stamp']?&",
"nonce_str": "&?php echo $listInfo['nonce_str']?&"
function(res) {
alert(res.err_msg + res.choose_card_info);
$("#showInfo").empty().append(res.err_msg + res.choose_card_info);
if (typeof WeixinJSBridge === "undefined") {
document.addEventListener('WeixinJSBridgeReady', readyFunc, false);
readyFunc();
5.&[代码]创建卡券&&&&
$kqinfo = array("card" =& array());
$kqinfo['card']['card_type'] = 'GENERAL_COUPON';
$kqinfo['card']['general_coupon'] = array('base_info' =& array(), 'default_detail' =& array());
$kqinfo['card']['general_coupon']['base_info']['logo_url'] = 'URL';
$kqinfo['card']['general_coupon']['base_info']['code_type'] = 'CODE_TYPE_QRCODE';
$kqinfo['card']['general_coupon']['base_info']['brand_name'] = '';
$kqinfo['card']['general_coupon']['base_info']['title'] = '测试卡券';
$kqinfo['card']['general_coupon']['base_info']['color'] = 'Color030';
$kqinfo['card']['general_coupon']['base_info']['notice'] = '测试测试测试';
$kqinfo['card']['general_coupon']['base_info']['description'] = '这是一张优惠券';
$kqinfo['card']['general_coupon']['base_info']['date_info']['type'] = 1;
$kqinfo['card']['general_coupon']['base_info']['date_info']['begin_timestamp'] = time();
$kqinfo['card']['general_coupon']['base_info']['date_info']['end_timestamp'] = time() + 100 * 24 * 3600;
$kqinfo['card']['general_coupon']['base_info']['sku']['quantity'] = 100000;
$kqinfo['card']['general_coupon']['default_detail'] = '测试数据\n测试数据\n测试数据';
//var_dump($kqinfo);
//$kqinfo = json_encode($kqinfo);
$kqinfo = C::enJson($kqinfo);
//print_r( $kqinfo);
//$resultData = $wx-&wxCardCreated($kqinfo);
开源中国-程序员在线工具:
相关的代码(855)
1回/1127阅
请问有用过退款的接口吗?为什么我发请求 curl报52 &那个链接是连不上还算需要什么验证吗?
2楼:youkuiyuan 发表于
退款 这个接口没有用到。但是我们这边解决的方案是通过微信交易平台进行退款的。然后更新微小店系统
3楼:clearair 发表于
引用来自“youkuiyuan”的评论退款 这个接口没有用到。但是我们这边解决的方案是通过微信交易平台进行退款的。然后更新微小店系统谢谢
4楼:mag868310 发表于
好东西啊,最近正在为微信开发的事情头疼呢,一点都没接触过,但工作要用。
5楼:USIDCBBS 发表于
有C++开发范例吗
6楼:格格巫2012 发表于
好东西。最近在使用JAVA搞微信应用,换换口味挺好。
7楼:红白机 发表于
楼主,有没有完整的一个东西?或者有没有官网来学习一下?
8楼:jluflyingz 发表于
什么卡券呀,分享呀,如果不花钱开通认证,都玩不了。。
9楼:风情万种 发表于
可以下载地址?
10楼:添加软件 发表于
git仓库在哪
11楼:都市网达 发表于
12楼:国民妹夫 发表于
13楼:AlwaysFuns 发表于
最近正在研究微信周边,很有价值的代码,git有没?
14楼:banzhiyanz 发表于
做个标记,日后用
15楼:王铁锤 发表于
16楼:笑小龙 发表于
引用来自“AlwaysFuns”的评论最近正在研究微信周边,很有价值的代码,git有没?/dodgepudding/wechat-php-sdk
这个写的也不错啊
17楼:锟铻科技 发表于
没有下载,伤心~
18楼:西瓜 发表于
引用来自“clearair”的评论请问有用过退款的接口吗?为什么我发请求 curl报52 &那个链接是连不上还算需要什么验证吗?我也是遇到这个问题了。 咋解决的?兄弟
19楼:clearair 发表于
引用来自“clearair”的评论请问有用过退款的接口吗?为什么我发请求 curl报52 &那个链接是连不上还算需要什么验证吗?引用来自“西瓜”的评论我也是遇到这个问题了。 咋解决的?兄弟我没解决 。。。 后来不做退款了
20楼:eric_xue8 发表于
wxCardListPackage(),怎么没有找到。求解。
开源从代码分享开始
youkuiyuan的其它代码

我要回帖

更多关于 申通单号几位数 的文章

 

随机推荐