package com.red.circle.order.app.service;

import com.red.circle.common.business.dto.cmd.IdLongCmd;
import com.red.circle.order.app.dto.clientobject.pay.ApplicationCommodityCardV2CO;
import com.red.circle.order.app.dto.clientobject.pay.PayApplicationCO;
import com.red.circle.order.app.dto.clientobject.pay.PayCountryCO;
import com.red.circle.order.app.dto.clientobject.pay.UserProfileAndCountryCO;
import com.red.circle.order.app.dto.cmd.PayWebApplicationCommodityCmd;
import com.red.circle.order.app.dto.cmd.PayWebUserCmd;
import java.util.List;

/**
 * web支付.
 *
 * @author pengliang on 2023/9/27
 */
public interface WebPayService {

  /**
   * 获取应用信息.
   */
  PayApplicationCO getApplication(IdLongCmd cmd);


  /**
   * 获取国家渠道商品.
   */
  ApplicationCommodityCardV2CO getChannelCommodityV2(PayWebApplicationCommodityCmd cmd);

  /**
   * 开放支付国家.
   */
  List<PayCountryCO> listOpenPayCountry();

  /**
   * 用户与支持的国家信息.
   *
   * @author pengshigang on 2023/4/3
   */
  UserProfileAndCountryCO getUserProfileAndCountry(PayWebUserCmd cmd);

}
