pay-api.js 3.92 KB
/**
 * 支付相关api调用
 * @author: jiangfeng<jeff.jiang@yoho.cn>
 * @date: 2016/07/18
 */

'use strict';

const api = global.yoho.API;
const serviceApi = global.yoho.ServiceAPI;

// 获取支付宝等平台支付方式列表
const getPayProvider = () => {
    return api.get('', {
        method: 'web.SpaceOrders.getPaymentList'
    }, {cache: true});
};

// 获取单个支付方式相关详细信息
const getPaymentInfo = (id) => {
    return api.get('', {
        method: 'web.SpaceOrders.getPaymentById',
        id: id
    }, {cache: true});
};

/* 获取上次使用的支付方式*/
const getBankByOrder = (code) => {
    return api.get('', {
        method: 'web.SpaceOrders.getOrderPayBank',
        orderCode: code
    });
};

/* 记录支付方式*/
const setOrderPayBank = (code, payment, bankCode) => {
    return api.get('', {
        method: 'web.SpaceOrders.addOrderPayBank',
        orderCode: code,
        payment: payment,
        bankCode: bankCode
    });
};

/* 更改支付方式*/
const updateOrderPayBank = (code, payment, bankCode) => {
    return api.get('', {
        method: 'web.SpaceOrders.modifyOrderPayBank',
        orderCode: code,
        payment: payment,
        bankCode: bankCode
    });
};

/* 发送支付确认*/
const sendPayConfirm = (code, payment, uid) => {
    return api.get('', {
        method: 'app.SpaceOrders.payConfirm',
        order_code: code,
        payment_id: payment,
        uid: uid
    });
};

const sendMessage = (mobile, template, codes) => {
    return api.get('', {
        method: 'app.message.sendMsg',
        mobile: mobile,
        template: template,
        codes: codes
    });
};

/**
 * [订单详情]
 * @param  {[type]} uid       [用户uid]
 * @param  {[type]} orderCode [订单号]
 * @return {[type]}           [{}]
 */
const orderDetail = (uid, orderCode)=>{
    return api.get('', {
        method: 'app.SpaceOrders.detail',
        uid: uid,
        order_code: orderCode
    });
};

/**
 * [更新订单支付方式]
 * @param  {[type]} code    [订单号]
 * @param  {[type]} payment [支付方式]
 * @param  {[type]} uid     [用户uid]
 * @return {[type]}         [{}]
 */
const updateOrderPayment = (code, payment, uid) => {
    return api.get('', {
        method: 'app.SpaceOrders.updateOrdersPaymentByCode',
        order_code: code,
        payment: payment,
        uid: uid
    });
};

/**
 * [获取资源数据]
 * @param  {[type]} code    [资源位code]
 * @return {[type]}         [{}]
 */
const getResourceData = (code) => {
    return serviceApi.get('operations/api/v5/resource/get', {
        content_code: code
    }, {
        cache: true
    });
};

/**
 * [获取用户的订单数目]
 * @param  {[type]} uid    [用户uid]
 * @return {[type]}         [{}]
 */
const getOrderCountByUid = (uid) => {
    return api.get('', {
        method: 'web.SpaceOrders.getOrderCountByUid',
        uid: uid
    });
};

/**
 * [更新订单状态]
 * @param  {[type]} code       [订单号]
 * @param  {[type]} payment    [支付方式]
 * @param  {[type]} amount     [金额(单位:元)]
 * @param  {[type]} bankName   [银行名称]
 * @param  {[type]} bankCode   [银行代码]
 * @param  {[type]} tradeNo    [交易流水号]
 * @param  {[type]} bankBillNo [银行流水号]
 * @return {[type]}            [{}]
 */
const pcpayNotify = (code, payment, amount, bankName, bankCode, tradeNo, bankBillNo) => {
    let params = {
        method: 'web.SpaceOrders.pcpayNotify',
        order_code: code,
        payment: payment,
        amount: amount,
        bank_name: bankName || '',
        bank_code: bankCode || '',
        trade_no: tradeNo || '',
        bank_bill_no: bankBillNo || ''
    };

    return api.get('', params);
};

module.exports = {
    getPayProvider,
    getPaymentInfo,
    getBankByOrder,
    setOrderPayBank,
    updateOrderPayBank,
    sendPayConfirm,
    sendMessage,
    orderDetail,
    updateOrderPayment,
    getResourceData,
    getOrderCountByUid,
    pcpayNotify
};