腾腾流氓,云云更流氓(问微信怎样接入支付宝支付),手贱的赶紧点,你会感谢我的...

 

 

草原上的两匹马!

打从当年微信开始布局公众号之初时,估计就已经想到了与支付宝正面冲突的场面,所以微信先来个瞒天过海,在春晚搞了个微信红包,那叫一个火呀,此时的云云隐隐感觉到些许不安。

早期的微信开发者可能都知道,微信公众号刚开始的时候接入支付要交巨额的保证金,根据行业不同,金额也不同,但也有大几万呢。这让很大一部分微型企业望而却步(老子创业时,注册公司的注册资金都免了,用个支付,你还要保证金),所以,大家果断用支付宝。

这样一来,腾哥的如意算盘算是打到自己脚面了,本打算可以用企业交的保证金拿去做网贷的,可是大家不买账。不买账也就算了,竟然用竞争对手的,这厮气的直抓屁股,怎么办呢?腾哥灵机一动,既然大家不想交保证金,那咱们干脆免费吧。

好嘛,俗话说的话,天下没有免费的午餐,要免费可以,但你要先认证(乖乖交300大洋,腾哥是贼心不死呀,3w交不起,300总交得起吧)。于是乎,微信支付的商家开通量确实是有了一个稳定的增长。

等等…………

“为毛每个月还是有那么多的流量流到支付宝呢?”,腾哥怒目圆睁,瞪着小龙哥。小龙哥委屈的都快尿了,躲在一边的墙角,低声道:“他们都说咱们的文档太烂了,他们看不懂,不知道怎么开发”。

“我不想听解释,你知道我要的是什么!!”,腾哥依旧不依不饶。但望着墙角的小龙,基情油然而生,仿佛动了恻隐之心。不忍再责备小龙,扬长而去。

一言不合就屏蔽!

话说,自从那日小龙哥被腾哥狗血喷头后,百思不得姐,头发都要掉光了。眼看下周公司例会在即,如再想不到解决方式,恐怕帅位不保呀。思来想去,唯有兵行险招,老子玩不过你,就不让你来我家玩。于是乎,一夜之间,所有从微信里跳转到阿里系的域名均无法打开。不管怎样,从微信端流入支付宝的流量起码表面上看起来好看的多,腾哥与小龙哥也恢复了往日的基情岁月。

流氓不可怕,就怕流氓有文化

"报告马总,近日深圳龙腾作怪,堵我流量入口,众开发者怨声载道,这可如何是好,咱不能弃咱们的衣食父母而不顾呀"

马总此时刚练完一日一贱《独孤九贱》,忽听探子来报,竟有人堵我粮道,岂有此理。大手一挥,写下几个大字“吾乃风清扬,从小做流氓,对我耍流氓,让他直喊娘”。交于探子。此探子虽说学识渊博,可也无从揣摩马总心思,正要走时,忽见字的背面若隐若现,定睛一看,着实惊喜万分,这就是传说中的《独孤九贱》呀。

第一式:工欲善其事必先利其器

想在微信里使用支付宝支付,那么,首先你要有个支付宝账号,并申请开通了《手机网站支付接口》,申请地址是:https://b.alipay.com/signing/productDetail.htm?productId=I1011000290000001001

第二式:北冥神功

成功的捷径就是,拿别人造好的轮子装在自己的车上,北冥神功也是此道理。支付宝的开发人员真的是善良的,深知一众屌丝开发者苦逼至极,为了更方便的接入支付宝支付,人家把代码封装的傻瓜化。这才是咱们需要的嘛,我就是想要在我的网站里接个支付而已,干嘛去让我搞一堆百年不用一次的什么md5,sha1,公钥,密钥等等。多点真诚,少点套路才是道理。支付的demo的下载地址是:

https://doc.open.alipay.com/doc2/detail?treeId=60&articleId=103564&docType=1

下载完成后,解压压缩包,压缩包中有两个文件夹,分别是:MD5签名方式与RSA签名方式,本king推荐用MD5方式,接入简单,不要问我为什么!有钱!任性!

第三式:连城诀

接口权限申请了,demo也有了,那咱们就只需要把demo中的参数换成自己的就行了。

首先,在代码的AlipayConfig中配置合作者身份ID与MD5密钥(C#语言,其他语言类似)。这两个参数需要登录支付宝,在《商家服务》页面查看。如下图:

一路火花带闪电地配置完后,咱们就可以手机端浏览了。如下图:

 

484很简单, 484很清爽,484很傻瓜化。

腾哥,赶紧让你的小弟看看,啥叫善待自己的衣食父母,赶紧擦亮你们尔等的钛合金狗眼。

额,貌似嘚瑟太早,容易闪着腰,点击平【确认】按钮之后的页面,顿时差点吓得生活不能自理。见下图:

这是什么鬼,宝宝年纪小,看不懂英文。城市套路深,我要回农村……~~~~(>_<)~~~~

 

 

 

 

第四式:凌波微步

俗话说的话,你贱我三分,我贱你一丈。云哥可是懂八国英语的人。毕竟在别人家地盘,不让我玩,我就翻你家墙头。

快跟着我一起来,左手右手一个慢动作……。

新一代全国程序员广播体操现在开始:

1、找到支付宝的机器人。(纳尼?你找不到,好吧,我来教你。)

在支付宝页面的《签约管理》的右边,有个机器人头像,看着了吧。

磨叽啥,赶紧点,进去之后,二话不说,直接发送“微信中使用支付宝”,奇迹的时刻就要到了:

云哥的给力,衬托出腾哥就是比较疼。传送门已经给我们了,赶紧进去看看秘籍吧。

进入页面后,会有一个征讨微信的说明,大概意思就是,腾哥刷流氓,云哥心不爽,云哥尽心力,教咱去他墙。

赶紧下载方案文件,解压后有惊喜。

duang~~~

一个文件变成了多个文件,是不是很神奇……

额,其他的文件咱都不看了, 有兴趣修炼的话,自己研究去。现在跟着我做下个动作,伸展运动……

2.打开【alipay_in_weixin工具说明】文件夹,将文件中的ap.js和pay.htm文件拷贝到项目中,注意要放到同一个文件夹哦。

然后,由于支付宝给的代码是使用表单html形式提交的数据,这个不太适合集成这个插件。咱们稍微改动下。

首先,在AlipaySubmit类中,找到BuildRequestParaToString方法,将private改成public,然后return的时候,加上支付宝的网关地址。改之后的代码如下所示:

public static string BuildRequestParaToString(SortedDictionary<string, string> sParaTemp, Encoding code)

        {

            //待签名请求参数数组

            Dictionary<string, string> sPara = new Dictionary<string, string>();

            sPara = BuildRequestPara(sParaTemp);

 

            //把参数组中所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串,并对参数值做urlencode

            string strRequestData = Core.CreateLinkStringUrlencode(sPara, code);

 

            return GATEWAY_NEW + strRequestData;

        }

 

然后仿照demo中的default.aspx页面新建一个页面,命名为pay.aspx,此页面要引用ap.js,在pay类中新建方法,如下:

public string GetPayUrl()

    {

        string out_trade_no =string.Format("{0:yyyyMMddHHmmssfff}",DateTime.Now);

        string subject = "装逼订单";

        string total_fee ="0.01";

        string show_url = "http://www.baidu.com";

        string body = "";

        SortedDictionary<string, string> sParaTemp = new SortedDictionary<string, string>();

        sParaTemp.Add("partner", Config.partner);

        sParaTemp.Add("seller_id", Config.seller_id);

        sParaTemp.Add("_input_charset", Config.input_charset.ToLower());

        sParaTemp.Add("service", Config.service);

        sParaTemp.Add("payment_type", Config.payment_type);

        sParaTemp.Add("notify_url", Config.notify_url);

        sParaTemp.Add("return_url", Config.return_url);

        sParaTemp.Add("out_trade_no", out_trade_no);

        sParaTemp.Add("subject", subject);

        sParaTemp.Add("total_fee", total_fee);

        sParaTemp.Add("show_url", show_url);

        sParaTemp.Add("app_pay","Y");//启用此参数可唤起钱包APP支付。

        sParaTemp.Add("body", body);

        return Submit.BuildRequestParaToString(sParaTemp, Encoding.UTF8);

    }

注意哦,用的时候要把对应的参数改成自己的,不要傻到拿别人参数自己用,还不知道哪里错了。

再然后,在页面中,就可以调用了。

   <script>

            var pay = function () {

                _AP.pay("<%=GetPayUrl()%>");

        }

        </script>

        <button type="button" οnclick="pay()">支付</button>

现在再点击支付按钮,跳转的页面就好看多啦。

484好看多了。这个页面的潜台词就是:“小兔子乖乖,快到碗里来”。

赶紧试试在浏览器打开的效果吧:

( ⊙o⊙ )哇,从微信里,直接跳到了支付宝app支付,有木有很屌的样子。知道大家喜欢高清无码的,所以,我故意打了马赛克。哈哈哈,快,别说话,吻我~。

支付完成后,需要咱们手动关闭浏览器,然后会自动返回到微信里咱们发起支付的页面。不过,貌似有点不对,微信里显示的还是那个“快到碗里来的提示”,这个体验就不有点不好了。真是要死啦。……

 

终极招式:随心所欲

回顾整个流程,接入插件前与接入后的代码结构区别是,多了两个文件,一个ap.js,一个是pay.htm,既然文件都在咱们这,那还不是想怎么改,怎么改呢。

从调用的方式上,可以看出,js里有个方法pay(url),此方法接收一个参数。然后咱们打开ap.js文件看看。

妈呀,就是这么任性,幸亏咱穿了淘宝5块10片包邮的尿不湿,这又给吓尿了。一行行乱码,一片片尿不湿呀。

其实静下心来仔细看,还是看得懂滴。其他的代码无法就是一个加解密的方法,咱就顺藤摸瓜吧  。

其实pay方法只是将传过来的参数加密后,跳转到pay.htm后,然后判断是否是在微信的浏览器环境,如果不是的话,就解密,跳转到真实的支付页面。那咱们只需要修改下pay方法就能实现咱们的目的了。

首先呢,在pay方法中添加一个参数,可以为orderid,然后同加密后的url一起跳转到pay.htm,再然后,在pay.htm页面中获取到orderid,写个定时器,每隔几秒中去服务器查询订单的支付状态,如果支付成功了,就跳转到支付成功的页面。用户再返回微信的时候看到的就不会是“快到碗里来”的提示了。

是不是很屌,你知道怎么整了吗?不知道是吧,不知道我也没办法,因为我没准备贴出源码。

哈哈,我就是我,不一样的烟火。

 

 

 

╮(╯▽╰)╭,先别着急关页面呀,看到下面的二维码了吧,关注不关注你看心情,反正我也不准备求你。

觉得本文可以吐槽的话,有本事就发到朋友圈,让全世界的朋友都来吐槽我吧。


 

转载于:https://www.cnblogs.com/zskbll/p/5831555.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/395177.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java中的string是什么_什么是String

2017-07-28String和StringBufString namenew String("HuangWeiFeng");System。out。println(name"is my name");看似已经很精简了&#xff0c;其实并非如此。为了生成二进制的代码&#xff0c;要进行如下的步骤和操作&#xff1a;(1) 生成新的字符串 new S…

详解华为与三星专利之争 律师称可能会打持久战

华为技术有限公司(下称“华为”)起诉三星&#xff0c;在近期中国企业起诉外企的“潮流”中掀起不小的漩涡。 “叫好声”认为&#xff0c;这是已经拥有专利积累的中国企业在国际舞台上的一次“实力亮相”&#xff0c;这件事本身就是中国制造业的胜利&#xff1b;“阴谋论者”认为…

租金 预测_如何预测租金并优化租赁期限,从而节省资金

租金 预测by Zhen Liu刘震 如何预测租金并优化租赁期限&#xff0c;从而节省资金 (How to Predict Rent and Optimize Your Lease Duration So You Can Save Money) In my last post, we talked about how to pick the best month to sign the lease based on seasonality. No…

java system load_关于java的System.load 和 System.loadLibrary

关于两者的区别(参见http://blog.csdn.net/ring0hx/article/details/3242245)System.load 参数为库文件的绝对路径&#xff0c;可以是任意路径。System.loadLibrary方法load的为相对路径&#xff0c;即在java.library.path定义下的lib文件&#xff0c;文件名会更具不同的系统实…

东进技术南亚创捷

深圳市东进技术在其海外市场拓展中取得又一骄人战绩&#xff0c;于四月下旬与印度One97通信公司签订了长期战略合作协议&#xff0c;One97将全面采用东进的全系列产品。同时签订的一期采购计划&#xff0c;总装机端口数约3万线。该合约主要涉及东进技术的领先主打产品——Keygo…

如何在5分钟内通过身份验证构建RESTful API —全部从命令行(第1部分)

by Niharika Singh由Niharika Singh 如何在5分钟内通过身份验证构建RESTful API —全部从命令行(第1部分) (How to Build a RESTful API with Authentication in 5 minutes — all from your command line (Part 1)) If the title of this article excites you, then my frien…

MD5与SHA1

一、MD5 MD5消息摘要算法&#xff08;英语&#xff1a;MD5 Message-Digest Algorithm&#xff09;&#xff0c;一种被广泛使用的密码散列函数&#xff0c;可以产生出一个128位&#xff08;16字节&#xff09;的散列值&#xff08;hash value&#xff09;&#xff0c;用于确保信…

java基本类型的默认值及其取值范围

转载于:https://www.cnblogs.com/billyu/p/5843845.html

tair client java_TFS(Taobao File System)Java Client 使用经验

TFS Java客户端的说明tfs-client-java版本选择&#xff1a;---------------------------------------tfs-client-java的版本有&#xff1a;release-2.0.0/tfs-with-large-2.1.1/tfs-client-java-2.1.3/release-2.2.2/release-2.2.3/release-2.2.4/release-2.2.6/最终我选用了tf…

Nutanix公布财报数据 准备IPO前表现抢眼

Nutanix已经向美国证券交易委员会提交了修订的S-1 IPO文件&#xff0c;其中的数据显示&#xff0c;Nutanix凭借着强力增长的业务为IPO做好了准备。 Nutanix公布财报数据 准备IPO前表现抢眼 Nutanix CEO Dheeraj Pandey Nutanix最新的财报数据无论从环比和同比收入增长方面看起来…

DevExpress WinForms使用教程:图表控件 - 内置深入查询

【DevExpress WinForms v18.2下载】在最新发布的DevExpress WinForms v18.2中&#xff0c;DevExpress WinForms和ASP.NET图表控件引入嵌套系列模板的概念&#xff0c;是您能在不编写自定义代码的情况下深入查询图表。 Chart控件的嵌入式痕迹导航元素显示导航层次结构中各个数据…

serverless 构建_使用Serverless,StepFunctions和StackStorm Exchange构建社区注册应用程序-Episode…...

serverless 构建by Dmitri Zimine由Dmitri Zimine 使用Serverless&#xff0c;StepFunctions和StackStorm Exchange构建社区注册应用程序-第3集 (Building a community sign-up app with Serverless, StepFunctions, and StackStorm Exchange — Episode 3) Build a real-worl…

AlfaLaval公司采用低速通风技术冷却数据中心

日前&#xff0c;瑞典热交换专家AlfaLaval公司推出了遵循低速通风原则的一系列数据中心冷却解决方案&#xff0c;其方案需要大量的风扇&#xff0c;而使空气以相当慢的速度流动&#xff0c;取得了与计算机机房空调&#xff08;CRAC&#xff09;一样有效的制冷效果。 该公司表示…

java pdf 首页 缩略图_Java中将上传的文件首页生成缩略图(先将上传的文件转成pdf,然后将pdf转成jpg)...

1、首先将上传的非jpg&#xff0c;pdf格式的文件转成pdf&#xff0c;这个是采用OpenOffice进行转的&#xff0c;具体代码如下&#xff1a;private void officeToPdf(){OpenOfficeConnection connection new SocketOpenOfficeConnection(8100);try {connection.connect();} cat…

1.2 如何在visual studio 中建立C#程序

这一节简单介绍一下怎么在visual studio 2015中建立第一个C#程序&#xff0c;我使用的是2015版的visual studio&#xff0c;不同版本可能有一些差异&#xff0c;不过大体上是相同的&#xff0c;这些信息仅供新手参考&#xff0c;大牛请自动跳过。 首先双击visual studio 2015的…

javascript在html中的延迟与异步

1.相同点&#xff1a;延迟与异步都会同时加载script 2.不同点&#xff1a;延迟是script加载完成后&#xff0c;待HTML执行完毕后&#xff0c;才会接着执行script&#xff1b; 异步是script加载完成后&#xff0c;接着就执行该程序&#xff0c;HTML等到script完全执行完毕后&…

三星全速进军物联网 所有产品都将内置互联功能

韩媒报道&#xff0c;近日消息传出&#xff0c;三星电子的家电部门&#xff0c;当前生产的产品都将内建Wi-Fi。相关高层表示&#xff0c;此种做法可替更先进的功能预作准备&#xff0c;因为家电寿命较长&#xff0c;至少可用五年。目前为止&#xff0c;三星家电只有部分具备Wi-…

2d手机游戏开发_我的手机游戏如何在2周内获得365K应用商店下载(以及为什么我退出独立游戏开发公司…...

2d手机游戏开发by William Kwan关冠伟 我的手机游戏如何在2周内获得365K应用商店下载(以及为什么以后我退出独立游戏开发者) (How My Mobile Game Got 365K App Store Downloads in 2 Weeks (And Why I Quit Indie Game Dev Afterwards)) I’m not a successful game develope…

Python ValueError: IO operation on closed file

ValueError IO operation on closed file表示处理了已经被关闭的数据&#xff0c;在python 中 with语句的上下文会帮助处理&#xff0c;也就是说&#xff0c;当python的处理代码不对齐的时候会出现这种情况。例子如下&#xff1a; header那一行&#xff0c;突出&#xff0c;也就…

java面向字符的输入流_详细解读Java编程中面向字符的输入流

字符流是针对字符数据的特点进行过优化的&#xff0c;因而提供一些面向字符的有用特性&#xff0c;字符流的源或目标通常是文本文件。 Reader和Writer是java.io包中所有字符流的父类。由于它们都是抽象类&#xff0c;所以应使用它们的子类来创建实体对象&#xff0c;利用对象来…