package com.izouma.nineth.dto.pay;

import com.izouma.nineth.enums.OrderStatus;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Map;

/**
 * 支付响应
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class UniformPayResult {

    /**
     * 支付平台
     */
    private String payPlatform;

    /**
     * 支付信息,直接页面渲染内容
     */
    private String payForm;

    /**
     * 支付参数,前端处理
     */
    private Map<String,Object> payParams;

    /**
     * 支付地址，直接跳转
     *微信或者支付宝二维码地址，需要对接系统自行转二维码
     * PC:必须转二维码进行扫码
     * 手机：支付宝支持H5直接支付
     */
    private String payUrl;

    /**
     * 订单ID
     */
    private Long orderId;

    /**
     * 转赠订单ID
     */
    private Long giftOrderId;

    /**
     * 订单状态
     */
    private OrderStatus orderStatus;

    /**
     * 系统支付流水号（订单号） -> 对应支付信息的orderNo
     */
    private String orderNo;

    /**
     * 平台流水交易号，用于丢单情况下业务关联 ->对应订单的transactionId
     */
    private String transactionId;

    /**
     * 返回地址
     */
    private String returnUrl;

}
