开发者社区> 问答> 正文

阿里云有哪些支付相关API接口可使用?

阿里云有哪些支付相关API接口可使用?

展开
收起
珍宝珠 2020-02-17 16:48:13 2779 0
1 条回答
写回答
取消 提交回答
  • 阿里云头部开发者运营小二

    一共有7种,分别如下

    cancel

    取消交易单,取消后该笔交易会进行回滚。 方法定义

    该方法的定义如下:

    cancel(params: CancelRequest): Promise<FunctionResponse<CancelResponse>>
    

    image.png 示例

    async cancel() {
      try {
        const res = await cloud.payment.cancel({
          outTradeNo: '', // 商家订单号
        });
      } catch (e) {
        // 进行错误处理
      }
    }
    

    close

    关闭交易单,修改交易的状态,不做交易回滚。 方法定义

    该方法的定义如下:

    close(params: CloseRequest): Promise<FunctionResponse<CloseResponse>>
    

    image.png 示例

    async close() {
      try {
        const res = await cloud.payment.close({
          outTradeNo: '', // 商家订单号
        });
      } catch (e) {
        // 进行错误处理
      }
    }
    

    create

    创建支付交易,能配合小程序收银台使用。 方法定义

    该方法的定义如下:

    create(params: CreateRequest): Promise<FunctionResponse<CreateResponse>>
    

    image.png

    示例

    create() {
      const outTradeNo = +new Date();
      my.getAuthCode({
        scopes: 'auth_user',
        success: async authRes => {
          const { authCode } = authRes;
          const tokenRes = await cloud.base.oauth.getToken({
            grantType: 'authorization_code',
            code: authCode,
          });
          const res = await cloud.payment.create({
            outTradeNo,
            subject: '商品名',
            totalAmount: '0.1',
            buyerId: tokenRes.result.userId
          });
    
          // 唤起小程序收银台进行用户支付
          my.tradePay({
            tradeNO: res.result.tradeNo,
            success: res => {
              // 进行业务操作
            },
            fail: res => {
              // 进行业务操作
            }
          });
        }
      });
    }
    

    getBillUrl

    查询对账单地址。 方法定义

    该方法的定义如下:

    getBillUrl(params: GetBillUrlRequest): Promise<FunctionResponse<GetBillUrlResponse>>
    

    请求参数 image.png

    返回参数 image.png

    示例

    async getBillUrl() {
      try {
        const params = {
          billType: 'trade',
          billDate: '2019-11-11',
        };
        const res = await cloud.payment.getBillUrl(params);
        // 进行业务处理
      } catch (e) {
        // 进行错误处理
      }
    }
    

    pay

    进行条形码支付,配合扫码枪可使用。 方法定义

    该方法的定义如下:

    pay(params: PayRequest): Promise<FunctionResponse<PayResponse>>
    

    请求参数 image.png

    返回参数

    可参考SDK中类型定义文件dist/esm/model/OpenApiModel.d.ts。 示例

    async pay() {
      try {
        const outTradeNo = +new Date();
        const subject = '商品名';
        const totalAmount = '0.1';
    
        const payRes = await cloud.payment.pay({
          outTradeNo,
          // 条码数目,有效期是1分钟
          authCode: '条形码', // 可通过扫码枪获取
          subject,
          totalAmount
        });
        // 进行业务处理
      } catch (e) {
        // 进行错误处理 
      }
    }
    

    query

    查询交易信息。 方法定义

    该方法的定义如下:

    query(params: QueryRequest): Promise<FunctionResponse<QueryResponse>>
    

    请求参数 image.png

    返回参数

    可参考SDK中类型定义文件dist/esm/model/OpenApiModel.d.ts。 示例

    async query() {
      try {
        const res = await cloud.payment.query({
          outTradeNo: '', // 商家订单号
        });
      } catch (e) {
        // 进行错误处理
      }
    }
    

    refund

    支付退款。 方法定义

    该方法的定义如下:

    refund(params: RefundRequest): Promise<FunctionResponse<RefundResponse>>
    

    请求参数 image.png

    返回参数

    可参考SDK中类型定义文件dist/esm/model/OpenApiModel.d.ts。 示例

    async refund() {
      try {
        const res = await cloud.payment.refund({
          outTradeNo: '', // .pay 接口支付的商家订单号
          refundAmount: '0.1' // 推荐金额
        });
        // 进行业务处理
      } catch (e) {
        // 进行错误处理
      }
    }
    
    2020-02-17 17:52:41
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Boot2.0实战Redis分布式缓存 立即下载
CUDA MATH API 立即下载
API PLAYBOOK 立即下载