Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

支持服务商模式 #18

Closed
wants to merge 13 commits into from
Closed

支持服务商模式 #18

wants to merge 13 commits into from

Conversation

krissss
Copy link
Contributor

@krissss krissss commented Sep 29, 2017

No description provided.

@yansongda
Copy link
Owner

感谢您的支持与关注!

麻烦请完善下文档,谢谢

@krissss
Copy link
Contributor Author

krissss commented Oct 9, 2017

@yansongda 已添加

@riseno
Copy link
Contributor

riseno commented Oct 28, 2017

都那麼久了,還不 merge 哦?

@krissss
Copy link
Contributor Author

krissss commented Oct 30, 2017

@riseno 可以先在 composer.json 下配置使用我fork的项目,未做其他修改,仅修改了服务商的支持。等该项目更新了再删掉配置就行了。

"repositories": {
        "yansongda/pay": {
            "type": "vcs",
            "url": "https://github.com/krissss/pay"
        }
    }

@yansongda
Copy link
Owner

之所以没 merge 是因为这么长时间了,这个需求貌似很小。

同时看到更改了微信类主代码,不知道 @krissss 有无测试 merge 后所有微信的所有网关是否正常。因为看代码很有可能会造成其他网关不可用的。

感谢您的支持!

@krissss
Copy link
Contributor Author

krissss commented Oct 30, 2017

@yansongda 你看下这样可以吗?这样子的代码就不影响在不使用服务商模式时的配置了

@riseno
Copy link
Contributor

riseno commented Nov 9, 2017

@yansongda 其實也不是沒有需求,現在我的一個項目正正需要可以有 sub_mch_id 的支持。

@riseno
Copy link
Contributor

riseno commented Nov 9, 2017

@krissss 只能先這樣吧,太感謝你了

@@ -56,7 +56,6 @@ public function __construct(array $config)
$this->config = [
'appid' => $this->user_config->get('app_id', ''),
'mch_id' => $this->user_config->get('mch_id', ''),
'sub_mch_id' => $this->user_config->get('sub_mch_id', ''),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

如果不在這裡加 sub_mch_id 的話,做 refund / query / close 都不行。

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

不应该呀,上下代码在这个方法中最终得到的$this->config是一致的,测试过是确认不可行的吗?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

是我太睏寫錯了,refund close 可以,但 query order 不行。find 只能傳入 out_trade_no,所以 sub_mch_id 不在 config 裡

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

query 是可以的,我刚测过了。你检查下你的配置对吗,如果可以的话,麻烦把你的config wechat 发出来看下。

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

你說對了,搞太晚打錯字了🤦🏿‍♂️。這樣寫是有一個好處,我這邊有些 merchant 是有 acquirer, 有些是沒有。這 sub_mch_id 可以動態化了比之前的 commit 好多了 👍🏿

@krissss
Copy link
Contributor Author

krissss commented Nov 20, 2017

@yansongda 先不要merge,微信这块有时间我每个接口都测一遍,当前发现有些问题

  • 小程序
  • 公众号
  • H5
  • APP
  • 扫码
  • 刷卡
  • 企业

@yansongda
Copy link
Owner

恩,我知道极有可能有问题,所以才一直没 merge 的,以前也说过了。

@riseno
Copy link
Contributor

riseno commented Nov 20, 2017

順帶一提,我這邊的 sub_mch_id 是不搭 service_app_id 一齊的。只需要有 mch_id + sub_mch_id 就好了

@krissss
Copy link
Contributor Author

krissss commented Nov 20, 2017

@riseno 请问下是什么样的业务场景下的呢?能描述下,或者给我个文档看下吗?

@riseno
Copy link
Contributor

riseno commented Nov 20, 2017

@krissss 這個我也搞不清楚,微信搞的太複雜了。當時我跟微信支付(CN & HK)那邊的團隊聊過,他們也沒給我講明白。

或者你到這 #27 看一下香港錢包的文檔吧。現在我那個產品配置(CN & HK)都一樣。

appid + mch_id + sub_mch_id 就可以了。

可能是關係到有 acquirer 的業務場景吧。

@krissss
Copy link
Contributor Author

krissss commented Nov 20, 2017

@riseno 这个刷卡支付和公众号支付一样,sub_appid 是可以为空的,这边处理成如果参数配置了service_app_id,则在公众号支付和刷卡支付时可以不传递app_id(原先会报 Missing Config -- [app_id]

@yansongda
Copy link
Owner

您好,由于业务限制。想知道在实际支付情况下,子商户号、子商户公众账号ID是否是一个变量?

因为我的理解,子商户全部是服务商的一个代理,然后子商户支付的时候向服务商请求调用 API 。

请问我的理解是否正确?

如果是这样的话,无论是以前的 1.x 版本还是现有的 v2.x 版都不需要进行更改了,已经原生支持了,只需要在 $order 中传入sub_mch_id sub_appid 即可?

@liangxy94
Copy link

你好,我觉得这个还可以再稍微完善一点,比如查询退款和下载账单可以增加进来,引用第三方扩展,总有个强迫症,不能在别人的扩展里面改,如果直接改了之后,别的伙伴又composer一遍,就被覆盖了,这种情况下怎么破?

@krissss
Copy link
Contributor Author

krissss commented Mar 6, 2018

仅 v2 版本支持服务商模式吧,v1版本这个的处理有点不一样,关闭了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants