Image
Top
Navigation
January 22, 2011

WordPress支付宝集成思路及实现(非插件)

如何在WordPress程序中集成支付宝是实现WordPress电子商务化必须要突破的一个瓶颈。WordPress有很多的电子商务类插件,像比较著名的WP e-Commerce等。但这些插件唯一的缺点就是不够本地化,不支持支付宝。

或许由于WordPress支付宝集成的商业应用价值比较高,很少有人愿意将相关经验免费分享出来。还有一般WP高手都比较低调,忙着赚钱去了。在网上搜集相关资料我一无所获,除了那篇被转载了几百遍的不知谁写的所谓教程。在这里就不给链接了,因为分不清谁是原创了已经。

先说明一下:本操作需要你对WordPress模板比较熟悉并且了解WordPress自定义域相关知识、懂一点HTML和CSS。

废话不说了,下面是详细步骤。

1、  首先你要是支付宝签约商家,并申请开通担保交易或者即时到账交易,(我申请的是即时到帐)申请一般有审核期,不过支付宝工作人员的办事效率还是很高的。

2、  申请通过后你将会获得一个支付宝安全校验码(key)和一个合作身份(Partner ID)。这里是官方帮助(图文)。这两个号码非常重要,下面会用得到。

3、  登陆支付宝账户商家服务页面下载集成技术文档。或者你也可以到支付宝论坛下载。(注意:下载PHP+utf8的)。

4、  接下来是参数配置,你只需要修改alipay_config.php这个文件即可。

//合作身份者ID,以2088开头的16位纯数字
$partner= "";
//安全检验码,以数字和字母组成的32位字符
$key = "";
//签约支付宝账号或卖家支付宝帐户
$seller_email= "";
//交易过程中服务器通知的页面 要用 http://格式的完整路径,不允许加?id=123这类自定义参数
$notify_url= "http://www.yourdomain/alipay/notify_url.php";
//付完款后跳转的页面 要用 http://格式的完整路径,不允许加?id=123这类自定义参数
$return_url= "http://www.yourdomain/alipay/return_url.php";
//网站商品的展示地址,不允许加?id=123这类自定义参数
$show_url= "";
//收款方名称,如:公司名称、网站名称、收款人姓名等
$mainname= "";

5、  将修改后的文件上传至你网站的根目录,注意不要最好改变原有的目录结构和文件名称。快速付款入口模板文件(index.php)、图片、CSS样式文件夹(images)无需上传。这两个文件可以集成到你的WordPress主题中。例如我是放在http://www.mydomain.com/alipay

6、  到这里其实万里长征已经走完第一步了,接下来就是将支付宝集成到你主题中想要的位置。比如单篇文章页面(single.php)。集成的总体思路就是利用WordPress自定义域,将数值通过表单隐藏域或者URL参数用POST的方式传递给接口,并赋值给接口表单实现。这里有三个非常重要的参数:商品名称、商品描述和商品价格。
WordPress集成支付宝参数一览表
注:表单name一项是支付宝官方提供的集成文件固有命名,一般不要改动。如果你水平很高例外。

7、  下面是一段代码具体示例,我把它集成到了单篇日志文件中。当然,你的WP主题最好有设计换门的商品页面模板,而不是和文章页面公用一个模板。

<div class="alipay">
 <FORM name=alipayment action=/wordpress/alipay/alipayto.php method=post target="_blank">
 <INPUT type="hidden" size=30 name=aliorder value="<?php echo get_post_meta($post->ID, "P_name", true); ?>"  maxlength="200">
 <INPUT type="hidden" maxLength=10 size=30 name=alimoney  value="<?php echo get_post_meta($post->ID, "P_price", true); ?>"/>
 <input type="hidden" name=alibody value="<?php echo get_post_meta($post->ID, "P_description", true); ?>">
 <input type="hidden" name="pay_bank" value="directPay">
 <input type="submit" class="btn" value="购买" />
 </FORM>
 </div>

8、  到这里其实支付宝功能已经可以使用了。添加一篇新的文章,添加相应的自定义域,然后发布。看看是不是可以在线购买了已经?接下来就是一些美化的工作,如果你精通CSS,精通HTML表单设计,精通JQURY,可以让支付更美观更安全。

9、  如果你还有精力,可以考虑将支付宝集成功能做成插件,完善相关配置选项,实现WordPress后台订单查询及跟踪。这都是可以实现的,WordPress完全有潜力打造成一个比ECSHOP或者SHOPEX还想打的在线网店,而且在搜索引擎优化方面的表现会比后两者更佳。

Comments

  1. 呵呵,我的博客整天换来换去的,最近也没去搞什么友情链接交换啥的。。就自己最近喜欢什么就拿什么来了。想写些什么就写些什么了。。。比较喜欢自由的风格。

    快过年啦。你已经到家了吧。

  2. 这个必须的支持,正需要,非常感谢

  3. 文章写得不错,我原来将支付宝集成到JSP的系统中过,不过php我想应该也不会难吧,主要是要研究,但很多人都没有这个心思,并不难的其实

  4. 博主的文章太优秀了,我转载了,呵呵,谢谢你的思路指导,以后常来

  5. 好的share就要顶上去,文章不错,给力!!写成WP e-Commerce插件更好

    专注于joomla开发:http://www.365joomla.com

  6. 很好,这个可以让需要卖东西的朋友可以简简单单的操作了

  7. 在我的网站中集成了下,支付成功,可惜 preg_match(“/true$/i”,$veryfy_result) 失败,只好不用返回页面$return_url了,不知与服务器设置问题是否有关?版主可否给点建议

    • 豬頭六

      @水文工具集 我这没有这个问题啊。修改代码的时候出错了吧?

  8. 好像挺麻烦的说

  9. 博主好文章,,按照一步步来操作…支付宝测试成功付了款(0.01元)

    就是文章中的按钮不知道怎么生成, 按照你文中的的事例代码..我也拷贝放到单篇文章页面(single.php)中,

    在加一篇新的文章时,没有,出现相应的自定义域?

    请博主指点.谢谢

    • 豬頭六

      @阳朔在线 详细实例参见www.qinghuaonline.org 发文章的时候都会有自定义域的,第一次需要你自己添加,以后发布就可以从下拉菜单看到了。

      • 目前仅仅能实现快速付款入口模板文件(index.php)付款,但没有定单号,产品名称等.

        参见www.qinghuaonline.org也看不出所以然, 孰我笨拙.

  10. 这个功能很有用 谢谢

  11. 这么多人留言,有人能给一个示范代码或示范页面吗?

    • 豬頭六

      @张刚 示范页面详见www.qinghuaonline.org

  12. 楼主文章值得推荐!

  13. 说实话,用不起来。

  14. 写的不错,思路清晰,正在搞这个,哈哈

  15. 博主太伟大了,暂时还用不着。先收藏了。

  16. 卢卡斯

    不错哦,是原创而且实用经验分享

Submit a Comment

评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, Jack是本文的评论者之一,则使用'@Jack '(不包括单引号)将会自动将您的评论发送给Jack。(注意:大小写需一致)

Posted By

Categories

wordpress