Angular +Ionic+axios实现第三方支付功能

1.下载axios

npm install axios -s

2.axios.service.ts配置

在这里插入图片描述

import { Injectable } from "@angular/core";
import axios from "axios"
@Injectable({
    providedIn: "root"
})
export class AxiosService {
    constructor() { }
    AxiosPost(postData) {
        return new Promise((resolve, reject) => {
            axios({
                headers: {
                    'Content-Type': 'application/json;charset=UTF-8',
                    // dataType: 'json',
                    contentType: 'application/json;charset=UTF-8'
                },
                method: 'post',
                url: "/abc/v1/payment/unifiedorder",
                data: JSON.stringify(postData)
            }).then((res) => {
                resolve(res)
            })
        })
    }
}

3.调用第三方支付接口

ts文件中:

//获取H5支付链接
  public PayByh5={
    Paydata:null
  }
  payMoney() {
    console.log(this.orderMain)
    this.rest.apiPost({
      ordernumbers: this.orderMain.orderNumber,//订单编号
      gatewayType: 'H5'
    }, this.rest.ipsToPay)
      .subscribe((payRes) => {
        if (payRes.status === 200) {
          console.log(payRes.data)
          let reqObj ={
            "appId":payRes.data.appId,
            "appName":payRes.data.appName,
            "mchId":payRes.data.mchId,
            "outTradeNo":payRes.data.outTradeNo,
         
            "totalFee":payRes.data.totalFee,
            "notifyUrl":payRes.data.notifyUrl,
            "nonceStr":payRes.data.nonceStr,
            "profitSharing":"N",
            "body":payRes.data.body,
            "tradeType":payRes.data.tradeType,
            "signType":payRes.data.signType,
            "sign":payRes.data.sign,
            "unionId": payRes.data.unionId
        }
          this.$axios.AxiosPost(reqObj).then((data) => {
            console.log(data)
            //接收支付接口数据
            this.PayByh5.Paydata=data["data"];
            //跳转第三方支付页面
            window.location.href = this.PayByh5.Paydata["mwebUrl"]
          })
        } else {
          this.toastError(this.toastCtrl, payRes.msg);
        }
      }, (err) => {
        this.toastError(this.toastCtrl, '连接失败');
      });
  }

4,跳转成功页面及支付效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐