2016-12-14 18:00:59 Harryword 阅读数 6467
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27754 人正在学习 去看看 秦子恒



                                                                             格式调整                                                                            
  Ctrl+S:保存文件
  Ctrl+[, Ctrl+]:代码行缩进
  Ctrl+Shift+[, Ctrl+Shift+]:折叠打开代码块
  Ctrl+C Ctrl+V:复制粘贴,如果没有选中任何文字则复制粘贴一行
  Shift+Alt+F:代码格式化
  Alt+Up,Alt+Down:上下移动一行
  Shift+Alt+Up,Shift+Alt+Down:向上向下复制一行
  Ctrl+Shift+Enter:在当前行上方插入一行
                                                                             光标操作                                                                            

     Ctrl+End:移动到文件结尾

  Ctrl+Home:移动到文件开头
  Ctrl+i:选中当前行
  Shift+End:选择从光标到行尾
  Shift+Home:选择从行首到光标处
  Ctrl+Shift+L:选中所有匹配
  Ctrl+D:选中匹配
  Ctrl+U:光标回退

                                                                             界面操作                                                                             

- Ctrl + \:隐藏侧边栏 
- Ctrl + m: 打开或者隐藏模拟器

                                         个人操作反馈(一直更新反应大家的心声                                         

- Tab:像eclipse 一样在引号中间用 Tab键跳出引号后边;

 -ctrl +J 像sublime 一样可以压缩代码到一行(如果有这个简直是太棒了);


还有就是界面为什么每次只能打开一个项目,多个项目同时打开不行吗?

2016-12-14 15:00:31 herion_liu 阅读数 4073
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27754 人正在学习 去看看 秦子恒
前面介绍了APP微信开发的基本步骤,这次介绍一下开发前的准备工作。
一、注册、认证、创建APP应用并进行开户审核等工作
链接如下
相关流程如下:
二、开始开发
APP支付模式为(ps:标注蓝色的即为服务器端需要做的操作):
商户系统和微信支付系统主要交互说明:
步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。
步骤2:商户后台收到用户支付单,调用微信支付统一下单接口。
步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appId,partnerId,prepayId,nonceStr,timeStamp,package。注意:package的值格式为Sign=WXPay
步骤4:商户APP调起微信支付。
步骤5:商户后台接收支付通知。
步骤6:商户后台查询支付结果。
1、下载PHP服务器开发demo
2、开同微信支付功能,在Demo的lib/WxPay.Config.php中配置各个信息
class WxPayConfig
{
//=======【基本信息设置】=====================================
//
/**
* TODO: 修改这里配置为您自己申请的商户信息
* 微信公众号信息配置
*
* APPID:绑定支付的APPID(必须配置,开户邮件中可查看)
*
* MCHID:商户号(必须配置,开户邮件中可查看)
*
* KEY:商户支付密钥,参考开户邮件设置(必须配置,登录商户平台自行设置)
* 设置地址:https://pay.weixin.qq.com/index.php/account/api_cert
*
* APPSECRET:公众帐号secert(仅JSAPI支付的时候需要配置, 登录公众平台,进入开发者中心可设置),
* 获取地址:https://mp.weixin.qq.com/advanced/advanced?action=dev&t=advanced/dev&token=2005451881&lang=zh_CN
* @var string
*/
const APPID = 'wx426b3015555a46be';
const MCHID = '1225312702';
const KEY = 'e10adc3949ba59abbe56e057f20f883e';
const APPSECRET = '01c6d59a3f9024db6336662ac95c8e74';
//=======【证书路径设置】=====================================
/**
* TODO:设置商户证书路径
* 证书路径,注意应该填写绝对路径(仅退款、撤销订单时需要,可登录商户平台下载,
* API证书下载地址:https://pay.weixin.qq.com/index.php/account/api_cert,下载之前需要安装商户操作证书)
* @var path
*/
const SSLCERT_PATH = '../cert/apiclient_cert.pem';
const SSLKEY_PATH = '../cert/apiclient_key.pem';
//=======【curl代理设置】===================================
/**
* TODO:这里设置代理机器,只有需要代理的时候才设置,不需要代理,请设置为0.0.0.0和0
* 本例程通过curl使用HTTP POST方法,此处可修改代理服务器,
* 默认CURL_PROXY_HOST=0.0.0.0和CURL_PROXY_PORT=0,此时不开启代理(如有需要才设置)
* @var unknown_type
*/
const CURL_PROXY_HOST = "0.0.0.0";//"10.152.18.220";
const CURL_PROXY_PORT = 0;//8080;
//=======【上报信息配置】===================================
/**
* TODO:接口调用上报等级,默认紧错误上报(注意:上报超时间为【1s】,上报无论成败【永不抛出异常】,
* 不会影响接口调用流程),开启上报之后,方便微信监控请求调用的质量,建议至少
* 开启错误上报。
* 上报等级,0.关闭上报; 1.仅错误出错上报; 2.全量上报
* @var int
*/
const REPORT_LEVENL = 1;
}
3、统一下单,将返回的结果传递给客户端处理
function dopayment_serviceorder($serviceorder)
{
//① 获取后台中的相关数据
$host = 'http://'.$_SERVER['HTTP_HOST'];
$notify_url =$host."/at/wxopenplatformpayagent/notify_url.html";//接受微信支付结果通知url
$appid = WxPayConfig::APPID;
$body = $serviceorder['order_title'];
$total_fee = $serviceorder["order_dealprice"] * 100;
$out_trade_no = $serviceorder['order_id'].date("YmdHis");

//②、统一下单,生成预支付交易单prepayid
$input = new WxPayUnifiedOrder();
$input->SetBody($body); //设置商品或支付单简要描述
$input->SetOut_trade_no($out_trade_no); //设置商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号
$input->SetTotal_fee($total_fee); //设置订单总金额,只能为整数,详见支付金额
$input->SetTime_start(date("YmdHis")); //设置订单生成时间,格式为yyyyMMddHHmmss
$input->SetTime_expire(date("YmdHis", time() + 60*10)); //设置订单失效时间,格式为yyyyMMddHHmmss
$input->SetNotify_url($notify_url); //设置接收微信支付异步通知回调地址
$input->SetTrade_type("APP"); //设置类型如下:JSAPI,NATIVE,APP
$order_data = WxPayApi::unifiedOrder($input); //统一下单

$order_data['timestamp'] = time();
$str = 'appid='.$order_data['appid'].'&noncestr='.$order_data['nonce_str'].'&package=Sign=WXPay&partnerid='.WxPayConfig::MCHID.'&prepayid='.$order_data['prepay_id'].'&timestamp='.$order_data['timestamp'];

//③ 重新生成签名,并将结果返回给客户端
$order_data['sign'] = strtoupper(md5($str.'&key='.WxPayConfig::KEY));
$parameter = array(
'appid' => $order_data['appid'],
'partnerid'=>$order_data['mch_id'],
'prepayid'=>$order_data['prepay_id'],
'package'=>'Sign=WXPay',
'noncestr'=>$order_data['nonce_str'],
'timestamp'=>$order_data['timestamp'],
'sign' => $order_data['sign']
);
return json_encode($parameter);
}
4、调起支付接口--客户端完成
5、支付结果通知--统一下单时传递的notify_url
支付完成后,微信会把相关的支付结果和用户信息发送给商户,商户需要接收处理并返回应答
根据支付结果对订单进行处理
<?php
ini_set('date.timezone','Asia/Shanghai');
error_reporting(E_ERROR);

require_once "../lib/WxPay.Api.php";
require_once '../lib/WxPay.Notify.php';
require_once 'log.php';

//初始化日志
$logHandler= new CLogFileHandler("../logs/".date('Y-m-d').'.log');
$log = Log::Init($logHandler, 15);

class PayNotifyCallBack extends WxPayNotify
{
//查询订单
public function Queryorder($transaction_id)
{
$input = new WxPayOrderQuery();
$input->SetTransaction_id($transaction_id);
$result = WxPayApi::orderQuery($input);
Log::DEBUG("query:" . json_encode($result));
if(array_key_exists("return_code", $result)
&& array_key_exists("result_code", $result)
&& $result["return_code"] == "SUCCESS"
&& $result["result_code"] == "SUCCESS")
{
return true;
}
return false;
}
//重写回调处理函数
public function NotifyProcess($data, &$msg)
{
Log::DEBUG("call back:" . json_encode($data));
$notfiyOutput = array();
if(!array_key_exists("transaction_id", $data)){
$msg = "输入参数不正确";
return false;
}
//查询订单,判断订单真实性
if(!$this->Queryorder($data["transaction_id"])){
$msg = "订单查询失败";
return false;
}
//根据 $data["out_trade_no"] 订单号 更新订单状态 //执行更新
return true;
}
}


Log::DEBUG("begin notify");
$notify = new PayNotifyCallBack();
$notify->Handle(false);
6、关闭订单
2018-03-05 14:52:50 L_junpeng 阅读数 3450
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27754 人正在学习 去看看 秦子恒

小程序越来越简单,提供给开发者的api也越来越多,微信这个平台真的很厉害~~

-------------------

canvas画板在涂鸦的时候,一不小心画错了一步,想撤销上一步,还是在微信小程序中去实现这个功能,顿时卡住了,还是去翻百度,翻csdn、简书,总结了几个文档按照自己的思路想了一个简单的方案;

在微信小程序的api支持下是这么做的:一个动作start->move->end(cancel)就结束了,小程序有个api

saveCurrentDrawWorks: function () {
   wx.canvasToTempFilePath({
      x: 0,
      y: 0,
      width: 0,
      height: 0,
      destWidth: 0,
      destHeight: 0,
      canvasId: self.data.Id,
      success: function (res) {
         var imgPath = res.tempFilePath;
         var allDrawWorksPath = self.data.allDrawWorksPath;
         allDrawWorksPath.push(imgPath);
         self.setData({
            allDrawWorksPath: allDrawWorksPath,
         })
      },
      fail: res => {
         console.log('获取画布图片失败', res);

      }
   })
},

在每次start的时候调用保存图片的这个方法,将当前画布的图片保存在本地的数组中;

点击撤销的时候:

drawRevoke: function () {
   var allDrawWorksPath = self.data.allDrawWorksPath;
   if (allDrawWorksPath == null || allDrawWorksPath.length == 0 || allDrawWorksPath == undefined) {
      return;
   }

   var privWorksPath = allDrawWorksPath.pop();
   self.setData({
      allDrawWorksPath: allDrawWorksPath,
   })


   drawPath.pop();
   self.setPaintSize(self.data.LineWidth);
   self.setPaintColor(self.data.StrokeStyle);
   drawContext.drawImage(privWorksPath, 0, 0, screenWidth, screenHeight);
   drawContext.draw();

   if (allDrawWorksPath.length == 0) {
     
   }
},

删除保存数组中的最后一个图片地址,并重画这个地址的图片(drawImage);

大功告成~虽然简单,但确实想了很久,,如果有帮到你,我会很开心

2018-10-22 13:05:32 yang450712123 阅读数 432
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27754 人正在学习 去看看 秦子恒

微信小程序 canvas 问题

问题描述

场景:当前页面用 canvas 画了个图片,获取到临时路径;之后再用这个临时路径去画图,手机上会出现画不出来或者画不全的情况;开发者工具没问题。

解决方案

原因不明,小程序的问题,尽量避免这种场景,没有找到解决方案。实际开发中,当时第一次处理了用户微信头像,然后再用临时路径画,ios 和安卓都没出来;阿里返回坐标点的图片,ios没问题,安卓只出来一半多图。

2018-04-12 10:41:48 valada 阅读数 1813
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27754 人正在学习 去看看 秦子恒

微信小程序将在2017年春节前发布,自进入公测以来,已经有不少公司及同等资质的开发者在17个大类126个小类里面开发并提交了小程序,并进入预发布状态。

在本场Chat中我要分享的是微信小程序运营提交审核会遇到的常见问题。如何起个好名字,首页如何设计?版权方面如何规避?图标和UI需要注意哪些事项?如何选择小程序服务的类目以及各服务范围所需要的资质?用户隐私保护与如何使用用户数据?哪些内容绝对不能触碰?在这次活动里面我将与您一起分享学习。

实录提要:

  • 小程序一般的审核时间有多长,有快速通过的渠道么?
  • 对于个人,如何在小程序的新浪潮中跟上时代?好像只支持公司注册?
  • 用后即走,微信用户从哪里查看选择其他小程序?只支持精确搜索吗?
  • 小程序怎么被搜索到? 它和微信公众号即使不同名,如何做出区别?
  • 针对大部分小程序不支持模糊搜索这个怎么考虑?
  • 有 App 的公司,是不是更无望增加其下载量了?
  • 小程序的页面能不能挂载图文广告?
  • 微信小程序能按照正常程序申报软件著作权吗?
  • 会不会真的有一部分用户只用小程序而卸载了手机上的 App?

阅读全文: http://gitbook.cn/gitchat/activity/5860d243365e283031360e68

您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。

FtooAtPSkEJwnW-9xkCLqSTRpBKX

微信支付 Java SDK

阅读数 7

没有更多推荐了,返回首页