有几个独立站,数据库是分开,但是支付账号用的是同一个,现在有个问题,需要一个公共的服务接受支付异步回调,我如何将这些回调发送到对应到站点
我暂时想到两个方法
1、创建支付单时在交易号上做标识,能够让系统识别到是那个那个站点然后发过去,这样好像会增加耦合度?
2、用rabbitmq来推送,这样的话各个站点会多处理一些无效请求,还有又怎么保证真正的站点消费了,rabbitmq消息什么时候删
有几个独立站,数据库是分开,但是支付账号用的是同一个,现在有个问题,需要一个公共的服务接受支付异步回调,我如何将这些回调发送到对应到站点
我暂时想到两个方法
1、创建支付单时在交易号上做标识,能够让系统识别到是那个那个站点然后发过去,这样好像会增加耦合度?
2、用rabbitmq来推送,这样的话各个站点会多处理一些无效请求,还有又怎么保证真正的站点消费了,rabbitmq消息什么时候删
1 回答4.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答1.4k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
795 阅读
首先是拆分为两个问题
首先看第一个问题,一般三方支付都允许带一些附加的信息提交,异步通知时也会把附加信息返回,比如微信支付统一下单的
attach
字段就是干这个用的。第二个问题,如何推送支付状态,这个用
rabbitmq
就可以了。大概原理就是不同站点订阅不同的channel
。这样能保证每个站点不会收到其他站点的订单。还有就是rabbitmq
支持ACK
消息确认,只有真正消费了才会被删除