H5調起IOS原生商店支付


參考文檔:http://www.html5plus.org/doc/zh_cn/payment.html

申請內購項目摘自 https://www.jianshu.com/p/1e79bfbe46e2

<template>
  <div id="app">
    <h3 @click="pay(ids[0])"></h3>
  </div>
</template>

<script> export default { data() { return { iap: {}, ids: ["donation6","donation"],//應用內購項目,需要申請
 } }, created() { document.addEventListener("plusready", function() { //console.log("所有plus api都應該在此事件發生后調用,否則會出現plus is undefined。"
 }); document.addEventListener("plusready",this.plusReady(),false); }, methods: { plusReady() { let _this = this; // 獲取支付通道
 plus.payment.getChannels( function(channels) { for (var i in channels) { var channel = channels[i]; // 用於標識支付通道: "alipay" - 表示支付寶; "wxpay" - 表示微信支付; "appleiap" - 表示蘋果應用內支付; "qhpay" - 表示360聚合支付(僅360手助流應用環境下支持)。
            if (channel.id === "appleiap") { _this.iap = channel; _this.requestOrder(); } } }, function(e) { console.log("獲取支付通道失敗:" + e.message); } ); }, requestOrder() { let _this = this; plus.nativeUI.showWaiting("檢測支付環境..."); _this.iap.requestOrder(_this.ids,function(e) { plus.nativeUI.closeWaiting(); console.log("requestOrder success: " + JSON.stringify(e)); },function(e) { console.log("requestOrder failed: " + JSON.stringify(e)); plus.nativeUI.closeWaiting(); plus.nativeUI.confirm("錯誤信息:" + JSON.stringify(e), function(e) { if (e.index == 0) { _this.requestOrder(); } else { // back();
 } }, "重新請求支付",["確定", "取消"] ); } ); }, // 支付
 pay(id) { let _this = this; plus.nativeUI.showWaiting("", {style: "black",background: "rgba(0,0,0,0)"}); plus.payment.request(_this.iap,{ productid: id },function(result) { plus.nativeUI.closeWaiting(); _this.fetchPayStatus(result); }, function(e) { console.log("錯誤信息",e) plus.nativeUI.closeWaiting(); plus.nativeUI.alert( "錯誤信息:" + e.message, null, "支付失敗:" + e.code ); } ); }, fetchPayStatus(result) { // let ordercode = window.location.href.split("ordercode=")[1]; //收集支付需要專遞的參數
      // console.log("ordercode", ordercode);
 axios({ method: "post", url: "https://pay.52xxxxxdd.cn/PaiyxApxxxxxple/appxxxxxxcion",//換成自己請求支付的接口 headers: { "Content-Type": "application/x-www-form-urlencoded", Accept: "application/json, text/plain, */*" }, data: `transactionId=${result.transactionIdentifier}&receipt=${result.transactionReceipt}`,//傳遞的參數 }) // .then(res => {
      // if(res.data.code === 1){
      // window.location.href = `${window.location.origin}/bzjp/detail.html?ordercode=${ordercode}`;
      // }
      // });
 }, }
}
</script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM