syntax = "proto3";
package wallet;
option go_package = "bsm/full/module/finance/wallet/pb;wallet";

service Alipay {
    //支付宝wap支付
    rpc WapPay(AlipayTradeWapPayRequest) returns (AlipayTradeWapPayReply) {}
    //支付宝电脑网站支付
    rpc PagePay(AlipayTradePagePayRequest) returns (AlipayTradePagePayReply) {}
    //支付宝APP支付
    rpc AppPay(AlipayTradeAppPayRequest) returns (AlipayTradeAppPayReply) {}
    //支付宝转账到个人支付宝账户
    rpc Transfer(AlipayUniTransferRequest) returns (AlipayUniTransferReply) {}
}


message AlipayTradeWapPayRequest {
    string user_identification = 1; //用户唯一标识
    int64 amount = 2; //充值金额，单位：分
    string description = 3; //商品描述
    string notify_url = 4; //支付回调URL，公网域名须为HTTPS
    string quit_url = 5; //退出支付时用户返回的URL
}
message AlipayTradeWapPayReply {
    string pay_url = 1; //支付链接
}
message AlipayTradePagePayRequest {
    string user_identification = 1; //用户唯一标识
    int64 amount = 2; //充值金额，单位：分
    string description = 3; //商品描述
    string notify_url = 4; //支付回调URL，公网域名须为HTTPS
    string return_url = 5; //支付成功时返回的URL
}
message AlipayTradePagePayReply {
    string pay_url = 1; //支付链接
}
message AlipayTradeAppPayRequest {
    string user_identification = 1; //用户唯一标识
    int64 amount = 2; //充值金额，单位：分
    string description = 3; //商品描述
    string notify_url = 4; //支付回调URL，公网域名须为HTTPS
}
message AlipayTradeAppPayReply {
    string pay_param = 1; //调起支付的参数
}
message AlipayUniTransferRequest {
    string user_identification = 1; //用户唯一标识
    int64 amount = 2; //提现金额，单位：分
    int64 fee = 3; //提现手续费，单位：分
    string description = 4; //商品描述
}
message AlipayUniTransferReply {}