人人商城支付回调init()中type参数的涵义
人人商城支付系统有很多功能或插件都在调用,在支付回调时,该如何区分是哪里发起的支付行为,并做相应的支付后处理呢?
今天大概分享一下老杨的理解吧,以微信支付为例。
回调函数位置
addons\ewei_shopv2\payment\wechat\notify.php
在支付中,通过以下方法发起
$wechat = m('common')->wechat_build($params, $options, 999);
上述函数中第三个参数是发起支付行为的起点,告诉回调函数在支付后该调用哪个方法来处理后续行为,最终传入 init() 函数中。
找到 init() 函数,它根据不同的 type 值调用不同的处理方法,列举几个常见的type对应的涵义,直接注释在代码里吧,供各位参考:
public function init(){
if( $this->type == "0" ){//订单支付 order
$this->order();
}
else{
if( $this->type == "1" ){//账户余额充值 recharge
$this->recharge();
}
else{
if( $this->type == "2" ){//积分商城
$this->creditShop();
}
else{
if( $this->type == "3" ){//积分商城
$this->creditShopFreight();
}
else{
if( $this->type == "4" ){//优惠券
$this->coupon();
}
else{
if( $this->type == "5" ){//拼团
$this->groups();
}
else{
if( $this->type == "6" ){
$this->threen();
}
else{
if( $this->type == "10" ){
$this->mr();
}
else{
if( $this->type == "11" ){
$this->pstoreCredit();
}
else{
if( $this->type == "12" ){
$this->pstore();
}
else{
if( $this->type == "13" ){//人人收银台 优惠券
$this->cashier();
}
else{
if( $this->type == "14" ){
$this->wxapp_order();
}
else{
if( $this->type == "15" ){
$this->wxapp_recharge();
}
else{
if( $this->type == "16" ){
$this->wxapp_coupon();
}
else{
if( $this->type == "17" ){
$this->grant();
}
else{
if( $this->type == "18" ){
$this->plugingrant();
}
else{
if( $this->type == "19" ){
$this->wxapp_groups();
}
else{
if( $this->type == "20" ){
$this->wxapp_membercard();
}
else{
if( $this->type == "21" ){
$this->membercard();
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
$this->success();
}
或者另一版本
public function init(){
//订单支付 order
if( $this->type == "0" ){
$this->order();
}
//账户余额充值 recharge
elseif( $this->type == "1" ){
$this->recharge();
}
//积分商城
elseif( $this->type == "2" ){
$this->creditShop();
}
//积分商城
elseif( $this->type == "3" ){
$this->creditShopFreight();
}
//优惠券
elseif( $this->type == "4" ){
$this->coupon();
}
//拼团
elseif( $this->type == "5" ){
$this->groups();
}
elseif( $this->type == "6" ){
$this->threen();
}
elseif( $this->type == "10" ){
$this->mr();
}
elseif( $this->type == "11" ){
$this->pstoreCredit();
}
elseif( $this->type == "12" ){
$this->pstore();
}
//人人收银台 优惠券
elseif( $this->type == "13" ){
$this->cashier();
}
elseif( $this->type == "14" ){
$this->wxapp_order();
}
elseif( $this->type == "15" ){
$this->wxapp_recharge();
}
elseif( $this->type == "16" ){
$this->wxapp_coupon();
}
elseif( $this->type == "17" ){
$this->grant();
}
elseif( $this->type == "18" ){
$this->plugingrant();
}
elseif( $this->type == "19" ){
$this->wxapp_groups();
}
elseif( $this->type == "20" ){
$this->wxapp_membercard();
}
elseif( $this->type == "21" ){
$this->membercard();
}
$this->success();
}