This repository has been archived by the owner on Jul 22, 2022. It is now read-only.
feilong pay cancle
feilong edited this page Jan 12, 2019
·
7 revisions
可插拔式支付模组
本文来阐释,如何集成 feilong netpay 来实现关闭 支付网关交易的功能, 本文是 使用篇说明
如果是后台 wormhole 系统定时任务取消 , 直接依赖 netpay
即可
比如
<properties>
...
<version.feilong-netpay>1.21.0-SNAPSHOT</version.feilong-netpay>
...
<properties>
<dependencies>
...
<dependency>
<groupId>com.feilong.netpay</groupId>
<artifactId>feilong-netpay-all-adidas-reebok-HK</artifactId>
<version>${version.feilong-netpay}</version>
</dependency>
...
</dependencies>
如果是前台 frontend 个人取消 , 可以依赖 psi
(Payment Standard Interface
支付标准接口,提供标准的 controller 功能)
比如
<properties>
...
<version.feilong-netpay>1.21.0-SNAPSHOT</version.feilong-netpay>
...
<properties>
<dependencies>
...
<dependency>
<groupId>com.feilong.netpay</groupId>
<artifactId>feilong-psi-all-adidas-reebok-HK</artifactId>
<version>${version.feilong-netpay}</version>
</dependency>
...
</dependencies>
- 只需要下载1个 jar ,节省时间
- 方便扩展, 假设以后需要新增1个支付方式, 只需要该 pom 里面依赖的版本即可
怎么做到的? 参见 【飞天奔月出品】使用Maven打all-in-one的包(带tests 和 sources)(多方案实现对比)
路径示意图:
示例:
...
<!--单独xml式配置 ,避免其他项目引用 可能带来的错误 -->
<bean id="payAdvanceProviderFactory" class="com.feilong.netpay.factory.SimplePayAdvanceProviderFactory">
<property name="providerMap">
<map>
<!-- 支付宝国际 -->
<entry key="131" value-ref="unexAdvanceProvider"></entry>
<!-- 微信国际 -->
<entry key="141" value-ref="unexAdvanceProvider"></entry>
<!-- 银联国际 -->
<entry key="151" value-ref="unexAdvanceProvider"></entry>
<!-- worldpay -->
<entry key="415" value-ref="unexAdvanceProvider"></entry>
</map>
</property>
</bean>
<!--********************* 有新的支付方式 ,请在下面扩展配置**************** -->
<import resource="classpath*:spring/payment/**/advanceProvider-**.xml" />
...
如果放在 spring-store
目录, 系统启动的时候 会自动加载
@Autowired
private PayAdvanceProviderFactory payAdvanceProviderFactory;
Integer payType = payInfoLog.getThirdPayType();
String payCode = payInfoLog.getSubOrdinate();
PayAdvanceProvider payAdvanceProvider = payAdvanceProviderFactory.create("" + payType);
CloseRequest closeRequest = new DefaultCloseRequest(payCode);
CloseResult closeResult = payAdvanceProvider.close(closeRequest);
isCloseSuccess
可以得到 关闭是否成功
QQ 群 243306798
|
---|
如果您对本项目有任何建议和批评,可以使用下面的联系方式:
- iteye博客:http://feitianbenyue.iteye.com/