2.1.8 • Published 3 years ago

ping-pay v2.1.8

Weekly downloads
4
License
ISC
Repository
-
Last release
3 years ago

npm-hetao-pay

安装方法

    $ npm i @hetao/hetao-pay -S

引用方法

    import { hetaoPay } from "@hetao/hetao-pay";

API

hetaoPay({data | charge})

datacharge 两个参数其中必须存在一个,传入一个参数即可,如果两个同时存在会按charge参数调用支付。

data 参数为创建订单所需要的全部参数,传入data参数后会自动调用getOrder方法并调起支付。

charge参数为ping++ charge信息或nowpay charge信息。

    import { hetaoPay } from "@hetao/hetao-pay";

    // charge 直接调用支付方法
    hetaoPay({charge}).then(res => {
        // pay success && res === 'success'
    }).catch(error => {
        // pay error | fail | cancel | res.err_code !== 0
        // pay error | fail | cancel | res !== 'success'
    });

    //调用招商银行的现在支付需要传入merchantId参数
    hetaoPay({charge: {merchantId: 'nowpay', charge: charge}});

    // data 先下单再调用支付方法
    hetaoPay({data}).then(res => {
        // pay success && res.err_code === 0 && res === 'success'
    }).catch(error => {
        // pay error || fail || cancel || res.err_code !== 0 || res !== 'success'
    });

getOrder(data)

创建订单,返回订单信息

data参数为创建订单所需要的全部参数。

    import { getOrder, hetaoPay } from "@hetao/hetao-pay";

    getOrder(data).then(res => {
        // res.err_code === 0
        let charge = res.data.charge;
        hetaoPay({charge});
    }).catch(error => {
        // error || res.err_code !== 0
    });

payCheck({orderNumber [, i, max, requireType, successUrl]})

根据prderNumber查询订单支付状态.

i 订单查询次数的起始值,默认:0。

max 订单查询的最大次数,默认:4。

requireType 区分course-shop系统订单和shop系统订单,默认shop

successUrl 设置支付成功url后,订单校验为支付成功时页面会直接跳至指定url,否则执行回调函数。

    payCheck({orderNumber}).then(res => {
        // 支付成功 data && data.paid
    }).catch(error => {
        // catch || !data.paid
        // 查询4次无支付成功
    });

    // 验证成功后直接跳转到指定url
    payCheck({
        orderNumber,
        successUrl: `${window.location.origin}/studentInfo?classId=${classId}&activityId=${activityId}`
    });

参数说明

创建订单的data对象分为mdcourse-shopshop三种模式,默认为shop模式。

  • md模式会将请求到发送到node中间层做中转处理广告数据埋点,参数中需要附带广告统计所需参数。
  • course-shop模式会将请求直接发送到course-shop服务获取订单信息。
  • shop模式会将请求直接发送到shop服务获取订单信息,其中又分为微信内和微信外两种数据结构。
/* md模式 */
{
    requireType: 'md',
    orderData: {
        phone_number,
        activity_id,
        pay_channel
    },
    adtag,
    adData: {
        type,
        link,
        clickId,
        phoneNumber,
        adtag
    }
}

/* course-shop模式 */
{
    requireType: 'course-shop',
    itemId,
    userId,
    classId,
    payChannel: 'wx_pub',
    openId
}

/* shop模式 微信内 */
{
    requireType: 'shop',
    course_package_id,
    term_id,
    activity_id,
    phone_number,
    pay_channel,
    verificationcode
}

/* shop模式 微信外 */
{
    requireType: 'shop',
    course_package_id,
    term_id,
    user_id,
    open_id,
    activity_id,
    phone_number,
    pay_channel
}

项目地址

gitlab 本地npm