package com.walker.pay; import com.walker.infrastructure.arguments.Variable; import com.walker.pay.callback.OrderCallBack; import java.util.Map; /** * 支付定义,产生一个支付自定义的实现,包括:支付基本信息、实现接口等。

*
 *     1)每个定义只能接入一家提供商,如:微信、通联等。
 *     2)每个定义都实现统一的支付能力,如:下单、通知、退款、对账等接口能力。
 * 
* @author 时克英 * @date 2023-01-12 */ public interface PayDefinition { /** * 支付定义ID,唯一,提供商标识 + 版本号 * @return */ String getId(); /** * 支付定义名字,用户可录入,默认使用:提供商名称 + 版本号 + 支付渠道 * @return */ String getName(); /** * 返回提供商对象 * @return */ ServiceProvider getServiceProvider(); /** * 返回接入版本号 * @return */ String getVersion(); /** * 返回支付渠道 * @return */ PayChannel getPayChannel(); /** * 是否启用 * @return */ boolean getEnabled(); /** * 返回支付配置参数集合 * @return */ Map getConfiguration(); // /** // * 返回支付引擎对象。 // * @return // */ // PayEngineProvider getPayEngineProvider(); /** * 返回定义对应的支付引擎实现类路径, 如: com.walker.pay.wechat.WechatV2EngineProvider * @return * @date 2023-01-17 */ String getPayEngineProviderClass(); /** * 返回支付定义配置的 '订单回调'操作实现对象。

* 引擎内部默认实现不做任何业务处理,业务集成后应当重新继承并实现。 * @return * @date 2023-02-20 */ OrderCallBack getOrderCallback(); /** * 返回订单通知数据格式转换器对象。 * @return * @date 2023-02-26 * @date 2023-03-01 由管理器(根据类路径)组装好对象,这里可以返回直接使用。
* 参考:{@linkplain PayDefinition#getOrderNotifyConvertorClass()} */ // @Deprecated Convertor> getOrderNotifyConvertor(); /** * 返回订单通知转换器类路径,用于动态创建,从数据库读取配置的类路径。 * @return */ String getOrderNotifyConvertorClass(); }