admin 发表于 2023-2-16 18:54:49

Payment模块管理支付功能,用于提供网页安全支付能力,支持通过Web接口进行支付操作。 ...

<div id="article_content" class="article_content clearfix">
      <link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/kdoc_html_views-1a98987dfd.css">
      <link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-6e43165c0a.css">
                <div id="content_views" class="htmledit_views">
                  <div id="content" style="margin-left:auto;">
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">支付接口可使得网页开发人员能获取浏览器支持的支付渠道进行支付操作&#xff0c;而不需要安装额外的浏览器支付插件。 规范不定义支付渠道安全认证及支付操作通讯协议&#xff0c;由运行环境的支付模块根据支付服务器接入规范实现。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>方法&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;"><ahref="https://blog.csdn.net/qq_40575646/article/details/122837114#plus.payment.getChannels">getChannels</a>: 获取支付通道</span></li><li><span style="color:#474747;"><ahref="https://blog.csdn.net/qq_40575646/article/details/122837114#plus.payment.request">request</a>: 请求支付操作</span></li></ul>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>对象&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;"><ahref="https://www.html5plus.org/doc/zh_cn/payment.html#plus.payment.PaymentChannel">PaymentChannel</a>: 支付通道对象</span></li><li><span style="color:#474747;"><ahref="https://www.html5plus.org/doc/zh_cn/payment.html#plus.payment.OrderStatementIAP">OrderStatementIAP</a>: IAP订单数据对象</span></li><li><span style="color:#474747;"><ahref="https://blog.csdn.net/qq_40575646/article/details/122837114#plus.payment.PaymentResult">PaymentResult</a>: 支付操作结果对象</span></li><li><span style="color:#474747;"><ahref="https://blog.csdn.net/qq_40575646/article/details/122837114#plus.payment.IAPProduct">IAPProduct</a>: IAP商品对象</span></li><li><span style="color:#474747;"><ahref="https://blog.csdn.net/qq_40575646/article/details/122837114#plus.payment.IAPProductInfo">IAPProductInfo</a>: 购买IAP商品对象</span></li><li><span style="color:#474747;"><ahref="https://blog.csdn.net/qq_40575646/article/details/122837114#plus.payment.IAPTransaction">IAPTransaction</a>: 购买IAP商品交易信息对象</span></li></ul>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>回调方法&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;"><ahref="https://www.html5plus.org/doc/zh_cn/payment.html#plus.payment.ChannelsSuccessCallback">ChannelsSuccessCallback</a>: 获取支付通道成功回调</span></li><li><span style="color:#474747;"><ahref="https://www.html5plus.org/doc/zh_cn/payment.html#plus.payment.IapRequestOrderSuccessCallback">IapRequestOrderSuccessCallback</a>: 请求支付商品列表回调方法</span></li><li><span style="color:#474747;"><ahref="https://www.html5plus.org/doc/zh_cn/payment.html#plus.payment.IapRestoreComplateRequestCallback">IapRestoreComplateRequestCallback</a>: 请求已经购买的非消耗性商品和订阅商品回调方法</span></li><li><span style="color:#474747;"><ahref="https://www.html5plus.org/doc/zh_cn/payment.html#plus.payment.IapPaymentSuccessCallback">IapPaymentSuccessCallback</a>: IAP支付操作成功回调</span></li><li><span style="color:#474747;"><ahref="https://www.html5plus.org/doc/zh_cn/payment.html#plus.payment.PaymentSuccessCallback">PaymentSuccessCallback</a>: 支付操作成功回调</span></li><li><span style="color:#474747;"><ahref="https://www.html5plus.org/doc/zh_cn/payment.html#plus.payment.PaymentErrorCallback">PaymentErrorCallback</a>: 支付操作失败回调</span></li></ul>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>权限&#xff1a;</strong></span></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">permissions</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style&#61;&#34;color:#474747&#34;><span style&#61;&#34;background-color:#333333&#34;><code>
<span style&#61;&#34;color:#ffffff&#34;>{</span>
<span style&#61;&#34;color:#87ceeb&#34;>// ...</span>
<span style&#61;&#34;color:#ffa0a0&#34;>&#34;permissions&#34;</span><span style&#61;&#34;color:#ffffff&#34;>:{</span>
        <span style&#61;&#34;color:#87ceeb&#34;>// ...</span>
        <span style&#61;&#34;color:#ffa0a0&#34;>&#34;Payment&#34;</span><span style&#61;&#34;color:#ffffff&#34;>:</span> <span style&#61;&#34;color:#ffffff&#34;>{</span>
                <span style&#61;&#34;color:#ffa0a0&#34;>&#34;description&#34;</span><span style&#61;&#34;color:#ffffff&#34;>:</span> <span style&#61;&#34;color:#ffa0a0&#34;>&#34;支付&#34;</span>
        <span style&#61;&#34;color:#ffffff&#34;>}</span>
<span style&#61;&#34;color:#ffffff&#34;>}</span>
<span style&#61;&#34;color:#ffffff&#34;>}</span>
                        </code></span></span></code></pre>
<h1 style="margin-left:0;"><span style="color:#474747;"><!--LINK#0_14-->getChannels</span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">获取支付通道</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style&#61;&#34;color:#474747&#34;><span style&#61;&#34;background-color:#333333&#34;><code>
<span style&#61;&#34;color:#f0e68c&#34;><strong>void</strong></span><span style&#61;&#34;color:#ffffff&#34;> plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>payment</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>getChannels</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>successCB</span><span style&#61;&#34;color:#ffffff&#34;>,</span><span style&#61;&#34;color:#ffffff&#34;> errorCB</span><span style&#61;&#34;color:#ffffff&#34;>);</span>
                                </code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>说明&#xff1a;</strong></span></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">在进行支付操作前需获取终端支持的支付通道列表&#xff0c;用于提示用户进行选择。 获取支付通道成功后通过successCB回调返回支持的所有通道列表&#xff0c;获取支付通道列表失败则通过errorCB回调返回。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>参数&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">successCB: <em>( <ahref="https://blog.csdn.net/qq_40575646/article/details/122837114#plus.payment.ChannelsSuccessCallback">ChannelsSuccessCallback</a> ) 必选 </em>获取支付通道成功回调函数</span> <p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">获取支付通道列表成功时的回调函数&#xff0c;用于返回终端支持的支付通道列表。</span></span></p> </li><li><span style="color:#474747;">errorCB: <em>( <ahref="https://www.html5plus.org/doc/zh_cn/payment.html#plus.payment.PaymentErrorCallback">PaymentErrorCallback</a> ) 可选 </em>获取支付通道失败回调函数</span> <p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">获取支付通道列表失败时的回调函数&#xff0c;用于返回错误信息。</span></span></p> </li></ul>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>返回值&#xff1a;</strong></span></span></h2>
<span style="color:#474747;">void : 无</span>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>平台支持&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">Android - 2.2&#43; (支持)</span></li><li><span style="color:#474747;">iOS - 5.0&#43; (支持)</span></li></ul>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>示例&#xff1a;</strong></span></span></h2>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style&#61;&#34;color:#474747&#34;><span style&#61;&#34;background-color:#333333&#34;><code>
<span style&#61;&#34;color:#cccccc&#34;><!DOCTYPE html></span>
<span style&#61;&#34;color:#f0e68c&#34;><strong><html></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong><head></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong><meta</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>charset</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;utf-8&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>/></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong><meta</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>name</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;viewport&#34;</span> <span style&#61;&#34;color:#bdb76b&#34;><strong>content</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;initial-scale&#61;1.0, maximum-scale&#61;1.0, user-scalable&#61;no&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>/></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong><title></strong></span><span style&#61;&#34;color:#ffffff&#34;>Payment Example</span><span style&#61;&#34;color:#f0e68c&#34;><strong></title></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong><script</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>type</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;text/javascript&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>></strong></span>
<span style&#61;&#34;color:#f0e68c&#34;><strong>var</strong></span><span style&#61;&#34;color:#ffffff&#34;> channels</span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>null</strong></span><span style&#61;&#34;color:#ffffff&#34;>;</span>
<span style&#61;&#34;color:#87ceeb&#34;>// 监听plusready事件</span><span style&#61;&#34;color:#ffffff&#34;>
document</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>addEventListener</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;plusready&#34;</span><span style&#61;&#34;color:#ffffff&#34;>,</span> <span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(){</span>
        <span style&#61;&#34;color:#87ceeb&#34;>// 扩展API加载完毕&#xff0c;现在可以正常调用扩展API</span><span style&#61;&#34;color:#ffffff&#34;>
        plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>payment</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>getChannels</span><span style&#61;&#34;color:#ffffff&#34;>(</span> <span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>s</span><span style&#61;&#34;color:#ffffff&#34;>){</span><span style&#61;&#34;color:#ffffff&#34;>
                channels </span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffffff&#34;> s</span><span style&#61;&#34;color:#ffffff&#34;>;</span>
        <span style&#61;&#34;color:#ffffff&#34;>},</span> <span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>){</span><span style&#61;&#34;color:#ffffff&#34;>
                alert</span><span style&#61;&#34;color:#ffffff&#34;>(</span> <span style&#61;&#34;color:#ffa0a0&#34;>&#34;获取支付通道列表失败&#xff1a;&#34;</span><span style&#61;&#34;color:#ffffff&#34;>&#43;</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>message </span><span style&#61;&#34;color:#ffffff&#34;>);</span>
        <span style&#61;&#34;color:#ffffff&#34;>});</span>
<span style&#61;&#34;color:#ffffff&#34;>},</span> <span style&#61;&#34;color:#f0e68c&#34;><strong>false</strong></span> <span style&#61;&#34;color:#ffffff&#34;>);</span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong></script></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong></head></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong><body></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong></body></strong></span>
<span style&#61;&#34;color:#f0e68c&#34;><strong></html></strong></span>
                                </code></span></span></code></pre>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;"><ahref="https://uniapp.dcloud.io/use-html5plus">uni-app使用plus注意事项</a></span></span></p>
<h1 style="margin-left:0;"><span style="color:#474747;"><!--LINK#0_18-->request</span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">请求支付操作</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style&#61;&#34;color:#474747&#34;><span style&#61;&#34;background-color:#333333&#34;><code>
<span style&#61;&#34;color:#f0e68c&#34;><strong>void</strong></span><span style&#61;&#34;color:#ffffff&#34;> plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>payment</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>request</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>channel</span><span style&#61;&#34;color:#ffffff&#34;>,</span><span style&#61;&#34;color:#ffffff&#34;> statement</span><span style&#61;&#34;color:#ffffff&#34;>,</span><span style&#61;&#34;color:#ffffff&#34;> successCB</span><span style&#61;&#34;color:#ffffff&#34;>,</span><span style&#61;&#34;color:#ffffff&#34;> errorCB</span><span style&#61;&#34;color:#ffffff&#34;>);</span>
                                </code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>说明&#xff1a;</strong></span></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">调用指定的支付通道进行支付操作&#xff0c;其中statement包含支付操作的相关信息&#xff0c;支付模块将弹出支付界面供用户进行支付信息的输入确认操作。 用户支付操作成功后通过successCB回调返回支付操作结果&#xff0c;支付操作失败则通过errorCB回调返回。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>参数&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">channel: <em>( <ahref="https://blog.csdn.net/qq_40575646/article/details/122837114#plus.payment.PaymentChannel">PaymentChannel</a> ) 必选 </em>支付通道</span> <p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">指定支付操作的通道&#xff0c;通过getChannels接口获取。</span></span></p> </li><li><span style="color:#474747;">statement: <em>( String | JSON | <ahref="https://blog.csdn.net/qq_40575646/article/details/122837114#plus.payment.OrderStatementIAP">OrderStatementIAP</a> ) 必选 </em>支付订单信息</span> <p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">支付订单信息&#xff0c;由支付通道定义的数据格式&#xff0c;通常是由业务服务器生成或向支付服务器获取&#xff0c;是经过加密的字符串信息。</span></span></p> </li><li><span style="color:#474747;">successCB: <em>( <ahref="https://blog.csdn.net/qq_40575646/article/details/122837114#plus.payment.PaymentSuccessCallback">PaymentSuccessCallback</a> | <ahref="https://blog.csdn.net/qq_40575646/article/details/122837114#plus.payment.IapPaymentSuccessCallback">IapPaymentSuccessCallback</a> ) 可选 </em>请求支付成功回调函数</span> <p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">请求支付成功时触发&#xff0c;用于返回支付结果。</span></span></p> </li><li><span style="color:#474747;">errorCB: <em>( <ahref="https://www.html5plus.org/doc/zh_cn/payment.html#plus.payment.PaymentErrorCallback">PaymentErrorCallback</a> ) 可选 </em>请求支付失败回调函数</span> <p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">请求支付失败时触发&#xff0c;用于返回错误信息。</span></span></p> </li></ul>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>返回值&#xff1a;</strong></span></span></h2>
<span style="color:#474747;">void : 无</span>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>平台支持&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">Android - 2.2&#43; (支持)</span></li><li><span style="color:#474747;">iOS - 5.0&#43; (支持)</span></li></ul>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>示例&#xff1a;</strong></span></span></h2>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style&#61;&#34;color:#474747&#34;><span style&#61;&#34;background-color:#333333&#34;><code>
<span style&#61;&#34;color:#cccccc&#34;><!DOCTYPE html></span>
<span style&#61;&#34;color:#f0e68c&#34;><strong><html></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong><head></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong><meta</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>charset</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;utf-8&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>/></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong><meta</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>name</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;viewport&#34;</span> <span style&#61;&#34;color:#bdb76b&#34;><strong>content</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;initial-scale&#61;1.0, maximum-scale&#61;1.0, user-scalable&#61;no&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>/></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong><title></strong></span><span style&#61;&#34;color:#ffffff&#34;>Payment Example</span><span style&#61;&#34;color:#f0e68c&#34;><strong></title></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong><script</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>type</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;text/javascript&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>></strong></span>
<span style&#61;&#34;color:#f0e68c&#34;><strong>var</strong></span><span style&#61;&#34;color:#ffffff&#34;> channels</span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>null</strong></span><span style&#61;&#34;color:#ffffff&#34;>;</span>
<span style&#61;&#34;color:#87ceeb&#34;>// 监听plusready事件</span><span style&#61;&#34;color:#ffffff&#34;>
document</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>addEventListener</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;plusready&#34;</span><span style&#61;&#34;color:#ffffff&#34;>,</span> <span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(){</span>
        <span style&#61;&#34;color:#87ceeb&#34;>// 扩展API加载完毕&#xff0c;现在可以正常调用扩展API</span><span style&#61;&#34;color:#ffffff&#34;>
        plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>payment</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>getChannels</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>s</span><span style&#61;&#34;color:#ffffff&#34;>){</span><span style&#61;&#34;color:#ffffff&#34;>
                channels </span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffffff&#34;> s</span><span style&#61;&#34;color:#ffffff&#34;>;</span>
        <span style&#61;&#34;color:#ffffff&#34;>},</span> <span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>){</span><span style&#61;&#34;color:#ffffff&#34;>
                alert</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;获取支付通道列表失败&#xff1a;&#34;</span><span style&#61;&#34;color:#ffffff&#34;>&#43;</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>message</span><span style&#61;&#34;color:#ffffff&#34;>);</span>
        <span style&#61;&#34;color:#ffffff&#34;>});</span>
<span style&#61;&#34;color:#ffffff&#34;>},</span> <span style&#61;&#34;color:#f0e68c&#34;><strong>false</strong></span> <span style&#61;&#34;color:#ffffff&#34;>);</span>
<span style&#61;&#34;color:#87ceeb&#34;>// 请求支付操作</span>
<span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;> requestPay</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>c</span><span style&#61;&#34;color:#ffffff&#34;>){</span>
        <span style&#61;&#34;color:#87ceeb&#34;>// 必须从业务服务器获取支付信息</span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong>var</strong></span><span style&#61;&#34;color:#ffffff&#34;> statement </span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span> <span style&#61;&#34;color:#ffa0a0&#34;>&#34;...&#34;</span><span style&#61;&#34;color:#ffffff&#34;>;</span><span style&#61;&#34;color:#ffffff&#34;>
        plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>payment</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>request</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>c</span><span style&#61;&#34;color:#ffffff&#34;>,</span><span style&#61;&#34;color:#ffffff&#34;> statement</span><span style&#61;&#34;color:#ffffff&#34;>,</span> <span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(){</span><span style&#61;&#34;color:#ffffff&#34;>
                alert</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;支付操作成功&#xff01;&#34;</span><span style&#61;&#34;color:#ffffff&#34;>);</span>
        <span style&#61;&#34;color:#ffffff&#34;>},</span> <span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>){</span><span style&#61;&#34;color:#ffffff&#34;>
                alert</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;支付失败&#xff1a;&#34;</span><span style&#61;&#34;color:#ffffff&#34;>&#43;</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>message</span><span style&#61;&#34;color:#ffffff&#34;>);</span>
        <span style&#61;&#34;color:#ffffff&#34;>}</span> <span style&#61;&#34;color:#ffffff&#34;>);</span>
<span style&#61;&#34;color:#ffffff&#34;>}</span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong></script></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong></head></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong><body></strong></span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong><button</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>onclick</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;</span><span style&#61;&#34;color:#ffffff&#34;>requestPay</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>channels</span><span style&#61;&#34;color:#ffffff&#34;>)</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>></strong></span><span style&#61;&#34;color:#ffffff&#34;>请求支付</span><span style&#61;&#34;color:#f0e68c&#34;><strong></button></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong></body></strong></span>
<span style&#61;&#34;color:#f0e68c&#34;><strong></html></strong></span>
                                </code></span></span></code></pre>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;"><ahref="https://uniapp.dcloud.io/use-html5plus">uni-app使用plus注意事项</a></span></span></p>
<h1 style="margin-left:0;"><span style="color:#474747;"><!--LINK#0_25-->PaymentChannel</span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">支付通道对象</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style&#61;&#34;color:#474747&#34;><span style&#61;&#34;background-color:#333333&#34;><code>
<span style&#61;&#34;color:#f0e68c&#34;><strong>interface</strong></span><span style&#61;&#34;color:#ffffff&#34;> plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>payment</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#98fb98&#34;>PaymentChannel</span><span style&#61;&#34;color:#ffffff&#34;>{</span><span style&#61;&#34;color:#ffffff&#34;>
        attribute </span><span style&#61;&#34;color:#98fb98&#34;>String</span><span style&#61;&#34;color:#ffffff&#34;> id</span><span style&#61;&#34;color:#ffffff&#34;>;</span><span style&#61;&#34;color:#ffffff&#34;>
        attribute </span><span style&#61;&#34;color:#98fb98&#34;>String</span><span style&#61;&#34;color:#ffffff&#34;> description</span><span style&#61;&#34;color:#ffffff&#34;>;</span><span style&#61;&#34;color:#ffffff&#34;>
        attribute </span><span style&#61;&#34;color:#98fb98&#34;>Boolean</span><span style&#61;&#34;color:#ffffff&#34;> serviceReady</span><span style&#61;&#34;color:#ffffff&#34;>;</span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span> <span style&#61;&#34;color:#f0e68c&#34;><strong>void</strong></span><span style&#61;&#34;color:#ffffff&#34;> installService</span><span style&#61;&#34;color:#ffffff&#34;>();</span>
       
        <span style&#61;&#34;color:#87ceeb&#34;>// iOS iAP</span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span> <span style&#61;&#34;color:#f0e68c&#34;><strong>void</strong></span><span style&#61;&#34;color:#ffffff&#34;> requestOrder</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>ids</span><span style&#61;&#34;color:#ffffff&#34;>,</span><span style&#61;&#34;color:#ffffff&#34;> successCB</span><span style&#61;&#34;color:#ffffff&#34;>,</span><span style&#61;&#34;color:#ffffff&#34;> errorCB</span><span style&#61;&#34;color:#ffffff&#34;>);</span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span> <span style&#61;&#34;color:#f0e68c&#34;><strong>void</strong></span><span style&#61;&#34;color:#ffffff&#34;> restoreComplateRequest</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>options</span><span style&#61;&#34;color:#ffffff&#34;>,</span><span style&#61;&#34;color:#ffffff&#34;> successCB</span><span style&#61;&#34;color:#ffffff&#34;>);</span>
<span style&#61;&#34;color:#ffffff&#34;>}</span>
                                </code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>说明&#xff1a;</strong></span></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">PaymentChannel对象表示特定的支付通道&#xff0c;用于向系统请求支付操作。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>属性&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;"><ahref="https://blog.csdn.net/qq_40575646/article/details/122837114#plus.payment.PaymentChannel.id">id</a>: 支付通道标识</span></li><li><span style="color:#474747;"><ahref="https://blog.csdn.net/qq_40575646/article/details/122837114#plus.payment.PaymentChannel.description">description</a>: 支付通道描述</span></li><li><span style="color:#474747;"><ahref="https://blog.csdn.net/qq_40575646/article/details/122837114#plus.payment.PaymentChannel.serviceReady">serviceReady</a>: 支付通道服务是否安装</span></li></ul>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>方法&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;"><ahref="https://blog.csdn.net/qq_40575646/article/details/122837114#plus.payment.PaymentChannel.installService">installService</a>: 安装支付通道依赖的服务</span></li><li><span style="color:#474747;"><ahref="https://blog.csdn.net/qq_40575646/article/details/122837114#plus.payment.PaymentChannel.requestOrder">requestOrder</a>: 向IAP服务器请求支付订单</span></li><li><span style="color:#474747;"><ahref="https://blog.csdn.net/qq_40575646/article/details/122837114#plus.payment.PaymentChannel.restoreComplateRequest">restoreComplateRequest</a>: 向IAP服务器请求已经购买的非消耗性商品和订阅商品</span></li></ul>
<h1 style="margin-left:0;"><span style="color:#474747;"><!--LINK#0_32-->id</span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">支付通道标识</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>说明&#xff1a;</strong></span></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">String 类型 只读属性</span></span></p>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">用于标识支付通道&#xff1a; &#34;alipay&#34; - 表示支付宝&#xff1b; &#34;wxpay&#34; - 表示微信支付&#xff1b; &#34;appleiap&#34; - 表示苹果应用内支付&#xff1b; &#34;qhpay&#34; - 表示360聚合支付&#xff08;仅360手助流应用环境下支持&#xff09;。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>平台支持&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">Android - 2.2&#43; (支持)</span></li><li><span style="color:#474747;">iOS - 5.0&#43; (支持)</span></li></ul>
<h1 style="margin-left:0;"><span style="color:#474747;"><!--LINK#0_33-->description</span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">支付通道描述</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>说明&#xff1a;</strong></span></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">String 类型 只读属性</span></span></p>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">支付通道的描述信息&#xff0c;如“支付宝”、“微信”、“In-App Purchase”。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>平台支持&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">Android - 2.2&#43; (支持)</span></li><li><span style="color:#474747;">iOS - 5.0&#43; (支持)</span></li></ul>
<h1 style="margin-left:0;"><span style="color:#474747;"><!--LINK#0_34-->serviceReady</span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">支付通道服务是否安装</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>说明&#xff1a;</strong></span></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">Boolean 类型 只读属性</span></span></p>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">通常特定的支付通道依赖系统安装相关的服务&#xff0c;此属性用于标识其服务是否安装&#xff0c;如果没有安装则为false&#xff0c;否则为true。 若系统环境中没有安装相关的服务&#xff0c;则可能导致调用支付操作失败&#xff0c;这时可以调用installService方法进行安装。 注意&#xff1a;如果支付通道不需要依赖系统安装服务&#xff0c;则永远返回true。例如支付宝&#xff0c;如果设备上未安装支付宝客户端则调用Wap页面进行支付&#xff0c;因此值固定返回true&#xff1b; 而微信支付则依赖微信客户端&#xff0c;如果设备上未安装微信客户端则serviceReady值为false&#xff0c;此时应该提示用户安装微信客户端才能进行支付操作。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>平台支持&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">Android - 2.2&#43; (支持)</span></li><li><span style="color:#474747;">iOS - 5.0&#43; (支持)</span></li></ul>
<h1 style="margin-left:0;"><span style="color:#474747;"><!--LINK#0_35-->installService</span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">安装支付通道依赖的服务</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style&#61;&#34;color:#474747&#34;><span style&#61;&#34;background-color:#333333&#34;><code>
<span style&#61;&#34;color:#f0e68c&#34;><strong>void</strong></span><span style&#61;&#34;color:#ffffff&#34;> pay</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>installService</span><span style&#61;&#34;color:#ffffff&#34;>();</span>
                                                </code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>说明&#xff1a;</strong></span></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">对于某些支付通道&#xff0c;通常特定的支付通道依赖系统安装相关的服务&#xff0c;调用此方法将安装其依赖的支付服务。 如支付宝&#xff0c;则在系统中安装支付宝客户端程序。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>参数&#xff1a;</strong></span></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">无</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>返回值&#xff1a;</strong></span></span></h2>
<span style="color:#474747;">void : 无</span>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>平台支持&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">Android - 2.2&#43; (支持) :</span> <p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">支付宝&#xff1a;支付操作可不依赖系统环境服务&#xff0c;此方法不做任何操作。 当调用plus.payment.request请求支付操作时如果系统环境中已经安装“支付宝钱包”则会调用支付宝钱包进行支付&#xff0c;否则调用Webview窗口进行支付。</span></span></p> </li><li><span style="color:#474747;">iOS - 5.0&#43; (支持) :</span> <p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">支付宝&#xff1a;支付操作可不依赖系统环境服务&#xff0c;此方法不做任何操作。 当调用plus.payment.request请求支付操作时如果系统环境中已经安装“支付宝钱包”则会调用支付宝钱包进行支付&#xff0c;否则调用Webview窗口进行支付。</span></span></p> </li></ul>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>示例&#xff1a;</strong></span></span></h2>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style&#61;&#34;color:#474747&#34;><span style&#61;&#34;background-color:#333333&#34;><code>
<span style&#61;&#34;color:#cccccc&#34;><!DOCTYPE html></span>
<span style&#61;&#34;color:#f0e68c&#34;><strong><html></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong><head></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong><meta</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>charset</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;utf-8&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>/></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong><meta</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>name</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;viewport&#34;</span> <span style&#61;&#34;color:#bdb76b&#34;><strong>content</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;initial-scale&#61;1.0, maximum-scale&#61;1.0, user-scalable&#61;no&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>/></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong><title></strong></span><span style&#61;&#34;color:#ffffff&#34;>Payment Example</span><span style&#61;&#34;color:#f0e68c&#34;><strong></title></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong><script</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>type</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;text/javascript&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>></strong></span>
<span style&#61;&#34;color:#f0e68c&#34;><strong>var</strong></span><span style&#61;&#34;color:#ffffff&#34;> channels</span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>null</strong></span><span style&#61;&#34;color:#ffffff&#34;>;</span>
<span style&#61;&#34;color:#87ceeb&#34;>// 监听plusready事件</span><span style&#61;&#34;color:#ffffff&#34;>
document</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>addEventListener</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;plusready&#34;</span><span style&#61;&#34;color:#ffffff&#34;>,</span> <span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(){</span>
        <span style&#61;&#34;color:#87ceeb&#34;>// 扩展API加载完毕&#xff0c;现在可以正常调用扩展API</span><span style&#61;&#34;color:#ffffff&#34;>
        plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>payment</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>getChannels</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>s</span><span style&#61;&#34;color:#ffffff&#34;>){</span><span style&#61;&#34;color:#ffffff&#34;>
                channels </span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffffff&#34;> s</span><span style&#61;&#34;color:#ffffff&#34;>;</span>
        <span style&#61;&#34;color:#ffffff&#34;>},</span> <span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>){</span><span style&#61;&#34;color:#ffffff&#34;>
                alert</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;获取支付通道列表失败&#xff1a;&#34;</span><span style&#61;&#34;color:#ffffff&#34;>&#43;</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>message</span><span style&#61;&#34;color:#ffffff&#34;>);</span>
        <span style&#61;&#34;color:#ffffff&#34;>});</span>
<span style&#61;&#34;color:#ffffff&#34;>},</span> <span style&#61;&#34;color:#f0e68c&#34;><strong>false</strong></span><span style&#61;&#34;color:#ffffff&#34;>);</span>
<span style&#61;&#34;color:#87ceeb&#34;>// 请求支付操作</span>
<span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;> requestPay</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>c</span><span style&#61;&#34;color:#ffffff&#34;>){</span>
        <span style&#61;&#34;color:#87ceeb&#34;>// 必须从业务服务器获取支付信息</span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong>var</strong></span><span style&#61;&#34;color:#ffffff&#34;> statement </span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span> <span style&#61;&#34;color:#ffa0a0&#34;>&#34;...&#34;</span><span style&#61;&#34;color:#ffffff&#34;>;</span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong>if</strong></span><span style&#61;&#34;color:#ffffff&#34;>(!</span><span style&#61;&#34;color:#ffffff&#34;>c</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>serviceReady</span><span style&#61;&#34;color:#ffffff&#34;>){</span><span style&#61;&#34;color:#ffffff&#34;>
                c</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>installService</span><span style&#61;&#34;color:#ffffff&#34;>();</span>
        <span style&#61;&#34;color:#ffffff&#34;>}</span><span style&#61;&#34;color:#ffffff&#34;>
        plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>payment</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>request</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>c</span><span style&#61;&#34;color:#ffffff&#34;>,</span><span style&#61;&#34;color:#ffffff&#34;> statement</span><span style&#61;&#34;color:#ffffff&#34;>,</span> <span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(){</span><span style&#61;&#34;color:#ffffff&#34;>
                alert</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;支付操作成功&#xff01;&#34;</span><span style&#61;&#34;color:#ffffff&#34;>);</span>
        <span style&#61;&#34;color:#ffffff&#34;>},</span> <span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>){</span><span style&#61;&#34;color:#ffffff&#34;>
                alert</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;支付失败&#xff1a;&#34;</span><span style&#61;&#34;color:#ffffff&#34;>&#43;</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>message</span><span style&#61;&#34;color:#ffffff&#34;>);</span>
        <span style&#61;&#34;color:#ffffff&#34;>}</span> <span style&#61;&#34;color:#ffffff&#34;>);</span>
<span style&#61;&#34;color:#ffffff&#34;>}</span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong></script></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong></head></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong><body></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong></body></strong></span>
<span style&#61;&#34;color:#f0e68c&#34;><strong></html></strong></span>
                                                </code></span></span></code></pre>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;"><ahref="https://uniapp.dcloud.io/use-html5plus">uni-app使用plus注意事项</a></span></span></p>
<h1 style="margin-left:0;"><span style="color:#474747;"><!--LINK#0_37-->requestOrder</span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">向IAP服务器请求支付订单</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style&#61;&#34;color:#474747&#34;><span style&#61;&#34;background-color:#333333&#34;><code>
<span style&#61;&#34;color:#f0e68c&#34;><strong>void</strong></span><span style&#61;&#34;color:#ffffff&#34;> pay</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>requestOrder</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>ids</span><span style&#61;&#34;color:#ffffff&#34;>,</span><span style&#61;&#34;color:#ffffff&#34;> successCB</span><span style&#61;&#34;color:#ffffff&#34;>,</span><span style&#61;&#34;color:#ffffff&#34;> errorCB</span><span style&#61;&#34;color:#ffffff&#34;>);</span>
                                                </code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>说明&#xff1a;</strong></span></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">IAP支付在调用plus.payment.request方法支付前须先向服务器请求获取商品的详细信息&#xff0c;否则会支付失败。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>参数&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">ids: <em>( Array ) 必选 </em>请求商品的标识</span> <p style="margin-left:0;"></p> </li><li><span style="color:#474747;">successCB: <em>( <ahref="https://blog.csdn.net/qq_40575646/article/details/122837114#plus.payment.IapRequestOrderSuccessCallback">IapRequestOrderSuccessCallback</a> ) 必选 </em>请求成功回调</span> <p style="margin-left:0;"></p> </li><li><span style="color:#474747;">errorCB: <em>( <ahref="https://blog.csdn.net/qq_40575646/article/details/122837114#plus.payment.PaymentErrorCallback">PaymentErrorCallback</a> ) 必选 </em>请求失败回调</span> <p style="margin-left:0;"></p> </li></ul>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>返回值&#xff1a;</strong></span></span></h2>
<span style="color:#474747;">void : 无</span>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>平台支持&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">Android - 2.2&#43; (不支持)</span></li><li><span style="color:#474747;">iOS - 5.0&#43; (支持) :</span> <p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">仅苹果应用内支付&#xff08;IAP&#xff09;支持&#xff1a;需在itunesconnect上添加商品并配置好才能请求成功。</span></span></p> </li></ul>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>示例&#xff1a;</strong></span></span></h2>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style&#61;&#34;color:#474747&#34;><span style&#61;&#34;background-color:#333333&#34;><code>
<span style&#61;&#34;color:#cccccc&#34;><!DOCTYPE html></span>
<span style&#61;&#34;color:#f0e68c&#34;><strong><html></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong><head></strong></span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong><meta</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>charset</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;utf-8&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>/></strong></span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong><meta</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>name</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;viewport&#34;</span> <span style&#61;&#34;color:#bdb76b&#34;><strong>content</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;initial-scale&#61;1.0, maximum-scale&#61;1.0, user-scalable&#61;no&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>/></strong></span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong><meta</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>name</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;HandheldFriendly&#34;</span> <span style&#61;&#34;color:#bdb76b&#34;><strong>content</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;true&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>/></strong></span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong><meta</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>name</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;MobileOptimized&#34;</span> <span style&#61;&#34;color:#bdb76b&#34;><strong>content</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;320&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>/></strong></span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong><title></strong></span><span style&#61;&#34;color:#ffffff&#34;>In-App Purchase</span><span style&#61;&#34;color:#f0e68c&#34;><strong></title></strong></span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong><script</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>type</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;text/javascript&#34;</span> <span style&#61;&#34;color:#bdb76b&#34;><strong>src</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;../js/common.js&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>></script></strong></span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong><script</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>type</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;text/javascript&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>></strong></span>
<span style&#61;&#34;color:#f0e68c&#34;><strong>var</strong></span><span style&#61;&#34;color:#ffffff&#34;> iap</span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>null</strong></span><span style&#61;&#34;color:#ffffff&#34;>;</span>
<span style&#61;&#34;color:#f0e68c&#34;><strong>var</strong></span><span style&#61;&#34;color:#ffffff&#34;> ids</span><span style&#61;&#34;color:#ffffff&#34;>&#61;[</span><span style&#61;&#34;color:#ffa0a0&#34;>'donation'</span><span style&#61;&#34;color:#ffffff&#34;>,</span><span style&#61;&#34;color:#ffa0a0&#34;>'donation6'</span><span style&#61;&#34;color:#ffffff&#34;>];</span><span style&#61;&#34;color:#87ceeb&#34;>//应用内购项目</span>
<span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;> plusReady</span><span style&#61;&#34;color:#ffffff&#34;>(){</span>
        <span style&#61;&#34;color:#87ceeb&#34;>// 获取支付通道</span><span style&#61;&#34;color:#ffffff&#34;>
        plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>payment</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>getChannels</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>channels</span><span style&#61;&#34;color:#ffffff&#34;>){</span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong>for</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#f0e68c&#34;><strong>var</strong></span><span style&#61;&#34;color:#ffffff&#34;> i in channels</span><span style&#61;&#34;color:#ffffff&#34;>){</span>
                        <span style&#61;&#34;color:#f0e68c&#34;><strong>var</strong></span><span style&#61;&#34;color:#ffffff&#34;> channel</span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffffff&#34;>channels</span><span style&#61;&#34;color:#ffffff&#34;>[</span><span style&#61;&#34;color:#ffffff&#34;>i</span><span style&#61;&#34;color:#ffffff&#34;>];</span>
                        <span style&#61;&#34;color:#f0e68c&#34;><strong>if</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>channel</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>id</span><span style&#61;&#34;color:#ffffff&#34;>&#61;&#61;&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>'appleiap'</span><span style&#61;&#34;color:#ffffff&#34;>){</span><span style&#61;&#34;color:#ffffff&#34;>
                                iap</span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffffff&#34;>channel</span><span style&#61;&#34;color:#ffffff&#34;>;</span>
                        <span style&#61;&#34;color:#ffffff&#34;>}</span>
                <span style&#61;&#34;color:#ffffff&#34;>}</span><span style&#61;&#34;color:#ffffff&#34;>
                requestOrder</span><span style&#61;&#34;color:#ffffff&#34;>();</span>
        <span style&#61;&#34;color:#ffffff&#34;>},</span><span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>){</span><span style&#61;&#34;color:#ffffff&#34;>
                console</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>log</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;获取支付通道失败&#xff1a;&#34;</span><span style&#61;&#34;color:#ffffff&#34;>&#43;</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>message</span><span style&#61;&#34;color:#ffffff&#34;>);</span>
        <span style&#61;&#34;color:#ffffff&#34;>});</span>
<span style&#61;&#34;color:#ffffff&#34;>}</span><span style&#61;&#34;color:#ffffff&#34;>
document</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>addEventListener</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffa0a0&#34;>'plusready'</span><span style&#61;&#34;color:#ffffff&#34;>,</span><span style&#61;&#34;color:#ffffff&#34;>plusReady</span><span style&#61;&#34;color:#ffffff&#34;>,</span><span style&#61;&#34;color:#f0e68c&#34;><strong>false</strong></span><span style&#61;&#34;color:#ffffff&#34;>);</span>
<span style&#61;&#34;color:#87ceeb&#34;>// 获取订单</span>
<span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;> requestOrder</span><span style&#61;&#34;color:#ffffff&#34;>(){</span><span style&#61;&#34;color:#ffffff&#34;>
        plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>nativeUI</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>showWaiting</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffa0a0&#34;>'检测支付环境...'</span><span style&#61;&#34;color:#ffffff&#34;>);</span><span style&#61;&#34;color:#ffffff&#34;>
        iap</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>requestOrder</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>ids</span><span style&#61;&#34;color:#ffffff&#34;>,</span><span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>){</span><span style&#61;&#34;color:#ffffff&#34;>
                plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>nativeUI</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>closeWaiting</span><span style&#61;&#34;color:#ffffff&#34;>();</span><span style&#61;&#34;color:#ffffff&#34;>
                console</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>log</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffa0a0&#34;>'requestOrder success: '</span><span style&#61;&#34;color:#ffffff&#34;>&#43;</span><span style&#61;&#34;color:#ffffff&#34;>JSON</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>stringify</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>));</span>
        <span style&#61;&#34;color:#ffffff&#34;>},</span><span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>){</span><span style&#61;&#34;color:#ffffff&#34;>
                console</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>log</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffa0a0&#34;>'requestOrder failed: '</span><span style&#61;&#34;color:#ffffff&#34;>&#43;</span><span style&#61;&#34;color:#ffffff&#34;>JSON</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>stringify</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>));</span><span style&#61;&#34;color:#ffffff&#34;>
                plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>nativeUI</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>closeWaiting</span><span style&#61;&#34;color:#ffffff&#34;>();</span><span style&#61;&#34;color:#ffffff&#34;>
                plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>nativeUI</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>confirm</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;错误信息&#xff1a;&#34;</span><span style&#61;&#34;color:#ffffff&#34;>&#43;</span><span style&#61;&#34;color:#ffffff&#34;>JSON</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>stringify</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>),</span> <span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>){</span>
                        <span style&#61;&#34;color:#f0e68c&#34;><strong>if</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>index</span><span style&#61;&#34;color:#ffffff&#34;>&#61;&#61;</span><span style&#61;&#34;color:#cd5c5c&#34;>0</span><span style&#61;&#34;color:#ffffff&#34;>){</span><span style&#61;&#34;color:#ffffff&#34;>
                                requestOrder</span><span style&#61;&#34;color:#ffffff&#34;>();</span>
                        <span style&#61;&#34;color:#ffffff&#34;>}</span><span style&#61;&#34;color:#f0e68c&#34;><strong>else</strong></span><span style&#61;&#34;color:#ffffff&#34;>{</span><span style&#61;&#34;color:#ffffff&#34;>
                                back</span><span style&#61;&#34;color:#ffffff&#34;>();</span>
                        <span style&#61;&#34;color:#ffffff&#34;>}</span>
                <span style&#61;&#34;color:#ffffff&#34;>},</span> <span style&#61;&#34;color:#ffa0a0&#34;>'重新请求支付'</span><span style&#61;&#34;color:#ffffff&#34;>,[</span><span style&#61;&#34;color:#ffa0a0&#34;>'确定'</span><span style&#61;&#34;color:#ffffff&#34;>,</span><span style&#61;&#34;color:#ffa0a0&#34;>'取消'</span><span style&#61;&#34;color:#ffffff&#34;>]);</span>
        <span style&#61;&#34;color:#ffffff&#34;>});</span>
<span style&#61;&#34;color:#ffffff&#34;>}</span>
<span style&#61;&#34;color:#87ceeb&#34;>// 支付</span>
<span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;> pay</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>id</span><span style&#61;&#34;color:#ffffff&#34;>){</span><span style&#61;&#34;color:#ffffff&#34;>
        plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>nativeUI</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>showWaiting</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffa0a0&#34;>''</span><span style&#61;&#34;color:#ffffff&#34;>,</span> <span style&#61;&#34;color:#ffffff&#34;>{</span><span style&#61;&#34;color:#ffffff&#34;>style</span><span style&#61;&#34;color:#ffffff&#34;>:</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;black&#34;</span><span style&#61;&#34;color:#ffffff&#34;>,</span><span style&#61;&#34;color:#ffffff&#34;>background</span><span style&#61;&#34;color:#ffffff&#34;>:</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;rgba(0,0,0,0)&#34;</span><span style&#61;&#34;color:#ffffff&#34;>});</span><span style&#61;&#34;color:#ffffff&#34;>
        plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>payment</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>request</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>iap</span><span style&#61;&#34;color:#ffffff&#34;>,</span> <span style&#61;&#34;color:#ffffff&#34;>{</span><span style&#61;&#34;color:#ffffff&#34;>productid</span><span style&#61;&#34;color:#ffffff&#34;>:</span><span style&#61;&#34;color:#ffffff&#34;>id</span><span style&#61;&#34;color:#ffffff&#34;>},</span> <span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>result</span><span style&#61;&#34;color:#ffffff&#34;>){</span><span style&#61;&#34;color:#ffffff&#34;>
                plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>nativeUI</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>closeWaiting</span><span style&#61;&#34;color:#ffffff&#34;>();</span><span style&#61;&#34;color:#ffffff&#34;>
                plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>nativeUI</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>alert</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;支付成功&#xff1a;感谢你的支持&#xff0c;我们会继续努力完善产品。&#34;</span><span style&#61;&#34;color:#ffffff&#34;>,</span> <span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(){</span><span style&#61;&#34;color:#ffffff&#34;>
                        back</span><span style&#61;&#34;color:#ffffff&#34;>();</span>
                <span style&#61;&#34;color:#ffffff&#34;>},</span> <span style&#61;&#34;color:#ffa0a0&#34;>&#34;捐赠&#34;</span><span style&#61;&#34;color:#ffffff&#34;>);</span>
        <span style&#61;&#34;color:#ffffff&#34;>},</span><span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>){</span><span style&#61;&#34;color:#ffffff&#34;>
                plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>nativeUI</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>closeWaiting</span><span style&#61;&#34;color:#ffffff&#34;>();</span><span style&#61;&#34;color:#ffffff&#34;>
                plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>nativeUI</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>alert</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;错误信息&#xff1a;&#34;</span><span style&#61;&#34;color:#ffffff&#34;>&#43;</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>message</span><span style&#61;&#34;color:#ffffff&#34;>,</span><span style&#61;&#34;color:#f0e68c&#34;><strong>null</strong></span><span style&#61;&#34;color:#ffffff&#34;>,</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;支付失败&#xff1a;&#34;</span><span style&#61;&#34;color:#ffffff&#34;>&#43;</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>code</span><span style&#61;&#34;color:#ffffff&#34;>);</span>
        <span style&#61;&#34;color:#ffffff&#34;>});</span>
<span style&#61;&#34;color:#ffffff&#34;>}</span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong></script></strong></span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong><link</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>rel</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;stylesheet&#34;</span> <span style&#61;&#34;color:#bdb76b&#34;><strong>href</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;../css/common.css&#34;</span> <span style&#61;&#34;color:#bdb76b&#34;><strong>type</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;text/css&#34;</span> <span style&#61;&#34;color:#bdb76b&#34;><strong>charset</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;utf-8&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>/></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong></head></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong><body></strong></span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong><header</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>id</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;header&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>></strong></span>
                        <span style&#61;&#34;color:#f0e68c&#34;><strong><div</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>class</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;nvbt iback&#34;</span> <span style&#61;&#34;color:#bdb76b&#34;><strong>onclick</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;</span><span style&#61;&#34;color:#ffffff&#34;>back</span><span style&#61;&#34;color:#ffffff&#34;>()</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>></div></strong></span>
                        <span style&#61;&#34;color:#f0e68c&#34;><strong><div</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>class</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;nvtt&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>></strong></span><span style&#61;&#34;color:#ffffff&#34;>In-App Purchase</span><span style&#61;&#34;color:#f0e68c&#34;><strong></div></strong></span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong></header></strong></span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong><div</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>id</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;content&#34;</span> <span style&#61;&#34;color:#bdb76b&#34;><strong>class</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;content&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>></strong></span>
                        <span style&#61;&#34;color:#f0e68c&#34;><strong><br/><br/></strong></span>
                        <span style&#61;&#34;color:#f0e68c&#34;><strong><p</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>class</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;des&#34;</span> <span style&#61;&#34;color:#bdb76b&#34;><strong>style</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;</span><span style&#61;&#34;color:#ffffff&#34;>font</span><span style&#61;&#34;color:#ffffff&#34;>-</span><span style&#61;&#34;color:#ffffff&#34;>size</span><span style&#61;&#34;color:#ffffff&#34;>:</span><span style&#61;&#34;color:#cd5c5c&#34;>16px</span><span style&#61;&#34;color:#ffffff&#34;>;</span><span style&#61;&#34;color:#ffffff&#34;>line</span><span style&#61;&#34;color:#ffffff&#34;>-</span><span style&#61;&#34;color:#ffffff&#34;>height</span><span style&#61;&#34;color:#ffffff&#34;>:</span><span style&#61;&#34;color:#cd5c5c&#34;>30px</span><span style&#61;&#34;color:#ffffff&#34;>;</span><span style&#61;&#34;color:#ffffff&#34;>margin</span><span style&#61;&#34;color:#ffffff&#34;>:</span> <span style&#61;&#34;color:#cd5c5c&#34;>0px</span> <span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#cd5c5c&#34;>5em</span><span style&#61;&#34;color:#ffffff&#34;>;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>></strong></span><span style&#61;&#34;color:#ffffff&#34;>
DCloud 是W3C会员、中国HTML5产业联盟发起单位&#xff0c;致力于推进HTML5发展&#xff0c;构建HTML5生态。
                        </span><span style&#61;&#34;color:#f0e68c&#34;><strong></p></strong></span>
                        <span style&#61;&#34;color:#f0e68c&#34;><strong><br/></strong></span>
                        <span style&#61;&#34;color:#f0e68c&#34;><strong><strong></strong></span><span style&#61;&#34;color:#ffffff&#34;>
支持HTML5开发工具HBuilder
                        </span><span style&#61;&#34;color:#f0e68c&#34;><strong></strong></strong></span>
                        <span style&#61;&#34;color:#f0e68c&#34;><strong><div</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>class</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;button&#34;</span> <span style&#61;&#34;color:#bdb76b&#34;><strong>onclick</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;</span><span style&#61;&#34;color:#ffffff&#34;>pay</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>ids</span><span style&#61;&#34;color:#ffffff&#34;>[</span><span style&#61;&#34;color:#cd5c5c&#34;>0</span><span style&#61;&#34;color:#ffffff&#34;>])</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>></strong></span><span style&#61;&#34;color:#ffffff&#34;>
                                捐赠1元
                        </span><span style&#61;&#34;color:#f0e68c&#34;><strong></div></strong></span>
                        <span style&#61;&#34;color:#f0e68c&#34;><strong><div</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>class</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;button&#34;</span> <span style&#61;&#34;color:#bdb76b&#34;><strong>onclick</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;</span><span style&#61;&#34;color:#ffffff&#34;>pay</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>ids</span><span style&#61;&#34;color:#ffffff&#34;>[</span><span style&#61;&#34;color:#cd5c5c&#34;>1</span><span style&#61;&#34;color:#ffffff&#34;>])</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>></strong></span><span style&#61;&#34;color:#ffffff&#34;>
                                捐赠6元
                        </span><span style&#61;&#34;color:#f0e68c&#34;><strong></div></strong></span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong></div></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong></body></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong><script</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>type</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;text/javascript&#34;</span> <span style&#61;&#34;color:#bdb76b&#34;><strong>src</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;../js/immersed.js&#34;</span> <span style&#61;&#34;color:#f0e68c&#34;><strong>></script></strong></span>
<span style&#61;&#34;color:#f0e68c&#34;><strong></html></strong></span>
                                                </code></span></span></code></pre>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;"><ahref="https://uniapp.dcloud.io/use-html5plus">uni-app使用plus注意事项</a></span></span></p>
<h1 style="margin-left:0;"><span style="color:#474747;"><!--LINK#0_41-->restoreComplateRequest</span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">向IAP服务器请求已经购买的非消耗性商品和订阅商品</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style&#61;&#34;color:#474747&#34;><span style&#61;&#34;background-color:#333333&#34;><code>
<span style&#61;&#34;color:#f0e68c&#34;><strong>void</strong></span><span style&#61;&#34;color:#ffffff&#34;> pay</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>restoreComplateRequest</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>options</span><span style&#61;&#34;color:#ffffff&#34;>,</span><span style&#61;&#34;color:#ffffff&#34;> successCB</span><span style&#61;&#34;color:#ffffff&#34;>);</span>
                                                </code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>说明&#xff1a;</strong></span></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">注意&#xff1a;不能获取已购买的消耗性商品。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>参数&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">options: <em>( Object ) 必选 </em>请求参数</span> <p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">支持属性&#xff1a;&#34;username&#34;用户名称&#xff0c;可选项&#xff0c;请求支付时设置的username值。</span></span></p> </li><li><span style="color:#474747;">successCB: <em>( <ahref="https://blog.csdn.net/qq_40575646/article/details/122837114#plus.payment.IapRestoreComplateRequestCallback">IapRestoreComplateRequestCallback</a> ) 必选 </em>请求成功回调</span> <p style="margin-left:0;"></p> </li></ul>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>返回值&#xff1a;</strong></span></span></h2>
<span style="color:#474747;">void : 无</span>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>平台支持&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">Android - 2.2&#43; (不支持)</span></li><li><span style="color:#474747;">iOS - 5.0&#43; (支持) :</span> <p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">仅苹果应用内支付&#xff08;IAP&#xff09;支持。</span></span></p> </li></ul>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>示例&#xff1a;</strong></span></span></h2>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style&#61;&#34;color:#474747&#34;><span style&#61;&#34;background-color:#333333&#34;><code>
<span style&#61;&#34;color:#cccccc&#34;><!DOCTYPE html></span>
<span style&#61;&#34;color:#f0e68c&#34;><strong><html></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong><head></strong></span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong><meta</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>charset</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;utf-8&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>/></strong></span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong><meta</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>name</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;viewport&#34;</span> <span style&#61;&#34;color:#bdb76b&#34;><strong>content</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;initial-scale&#61;1.0, maximum-scale&#61;1.0, user-scalable&#61;no&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>/></strong></span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong><meta</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>name</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;HandheldFriendly&#34;</span> <span style&#61;&#34;color:#bdb76b&#34;><strong>content</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;true&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>/></strong></span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong><meta</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>name</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;MobileOptimized&#34;</span> <span style&#61;&#34;color:#bdb76b&#34;><strong>content</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;320&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>/></strong></span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong><title></strong></span><span style&#61;&#34;color:#ffffff&#34;>In-App Purchase</span><span style&#61;&#34;color:#f0e68c&#34;><strong></title></strong></span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong><script</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>type</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;text/javascript&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>></strong></span>
<span style&#61;&#34;color:#f0e68c&#34;><strong>var</strong></span><span style&#61;&#34;color:#ffffff&#34;> iap</span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>null</strong></span><span style&#61;&#34;color:#ffffff&#34;>;</span>
<span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;> plusReady</span><span style&#61;&#34;color:#ffffff&#34;>(){</span>
        <span style&#61;&#34;color:#87ceeb&#34;>// 获取支付通道</span><span style&#61;&#34;color:#ffffff&#34;>
        plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>payment</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>getChannels</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>channels</span><span style&#61;&#34;color:#ffffff&#34;>){</span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong>for</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#f0e68c&#34;><strong>var</strong></span><span style&#61;&#34;color:#ffffff&#34;> i in channels</span><span style&#61;&#34;color:#ffffff&#34;>){</span>
                        <span style&#61;&#34;color:#f0e68c&#34;><strong>var</strong></span><span style&#61;&#34;color:#ffffff&#34;> channel</span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffffff&#34;>channels</span><span style&#61;&#34;color:#ffffff&#34;>[</span><span style&#61;&#34;color:#ffffff&#34;>i</span><span style&#61;&#34;color:#ffffff&#34;>];</span>
                        <span style&#61;&#34;color:#f0e68c&#34;><strong>if</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>channel</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>id</span><span style&#61;&#34;color:#ffffff&#34;>&#61;&#61;&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>'appleiap'</span><span style&#61;&#34;color:#ffffff&#34;>){</span><span style&#61;&#34;color:#ffffff&#34;>
                                iap</span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffffff&#34;>channel</span><span style&#61;&#34;color:#ffffff&#34;>;</span>
                        <span style&#61;&#34;color:#ffffff&#34;>}</span>
                <span style&#61;&#34;color:#ffffff&#34;>}</span>
        <span style&#61;&#34;color:#ffffff&#34;>},</span><span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>){</span><span style&#61;&#34;color:#ffffff&#34;>
                console</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>log</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;获取支付通道失败&#xff1a;&#34;</span><span style&#61;&#34;color:#ffffff&#34;>&#43;</span><span style&#61;&#34;color:#ffffff&#34;>e</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>message</span><span style&#61;&#34;color:#ffffff&#34;>);</span>
        <span style&#61;&#34;color:#ffffff&#34;>});</span>
<span style&#61;&#34;color:#ffffff&#34;>}</span><span style&#61;&#34;color:#ffffff&#34;>
document</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>addEventListener</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffa0a0&#34;>'plusready'</span><span style&#61;&#34;color:#ffffff&#34;>,</span><span style&#61;&#34;color:#ffffff&#34;>plusReady</span><span style&#61;&#34;color:#ffffff&#34;>,</span><span style&#61;&#34;color:#f0e68c&#34;><strong>false</strong></span><span style&#61;&#34;color:#ffffff&#34;>);</span>
<span style&#61;&#34;color:#87ceeb&#34;>// 获取已购买商品&#xff08;非消耗性商品和订阅商品&#xff09;</span>
<span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;> restoreComplateRequest</span><span style&#61;&#34;color:#ffffff&#34;>(){</span><span style&#61;&#34;color:#ffffff&#34;>
        plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>nativeUI</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>showWaiting</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffa0a0&#34;>''</span><span style&#61;&#34;color:#ffffff&#34;>,{</span><span style&#61;&#34;color:#ffffff&#34;>style</span><span style&#61;&#34;color:#ffffff&#34;>:</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;black&#34;</span><span style&#61;&#34;color:#ffffff&#34;>,</span><span style&#61;&#34;color:#ffffff&#34;>background</span><span style&#61;&#34;color:#ffffff&#34;>:</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;rgba(0,0,0,0)&#34;</span><span style&#61;&#34;color:#ffffff&#34;>});</span><span style&#61;&#34;color:#ffffff&#34;>
        iap</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>restoreComplateRequest</span><span style&#61;&#34;color:#ffffff&#34;>({},</span><span style&#61;&#34;color:#f0e68c&#34;><strong>function</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>results</span><span style&#61;&#34;color:#ffffff&#34;>){</span><span style&#61;&#34;color:#ffffff&#34;>
                plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>nativeUI</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>closeWaiting</span><span style&#61;&#34;color:#ffffff&#34;>();</span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong>for</strong></span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#f0e68c&#34;><strong>var</strong></span><span style&#61;&#34;color:#ffffff&#34;> i in results</span><span style&#61;&#34;color:#ffffff&#34;>){</span><span style&#61;&#34;color:#ffffff&#34;>
                        alert</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffa0a0&#34;>'restoreComplateRequest['</span><span style&#61;&#34;color:#ffffff&#34;>&#43;</span><span style&#61;&#34;color:#ffffff&#34;>i</span><span style&#61;&#34;color:#ffffff&#34;>&#43;</span><span style&#61;&#34;color:#ffa0a0&#34;>']: '</span><span style&#61;&#34;color:#ffffff&#34;>&#43;</span><span style&#61;&#34;color:#ffffff&#34;>JSON</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>stringify</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>results</span><span style&#61;&#34;color:#ffffff&#34;>[</span><span style&#61;&#34;color:#ffffff&#34;>i</span><span style&#61;&#34;color:#ffffff&#34;>]));</span>
                <span style&#61;&#34;color:#ffffff&#34;>}</span>
        <span style&#61;&#34;color:#ffffff&#34;>});</span>
<span style&#61;&#34;color:#ffffff&#34;>}</span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong></script></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong></head></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong><body></strong></span>
                <span style&#61;&#34;color:#f0e68c&#34;><strong><button</strong></span> <span style&#61;&#34;color:#bdb76b&#34;><strong>onclick</strong></span><span style&#61;&#34;color:#ffffff&#34;>&#61;</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;</span><span style&#61;&#34;color:#ffffff&#34;>restoreComplateRequest</span><span style&#61;&#34;color:#ffffff&#34;>()</span><span style&#61;&#34;color:#ffa0a0&#34;>&#34;</span><span style&#61;&#34;color:#f0e68c&#34;><strong>></strong></span><span style&#61;&#34;color:#ffffff&#34;>获取已购买商品</span><span style&#61;&#34;color:#f0e68c&#34;><strong></button></strong></span>
        <span style&#61;&#34;color:#f0e68c&#34;><strong></body></strong></span>
<span style&#61;&#34;color:#f0e68c&#34;><strong></html></strong></span>
                                                </code></span></span></code></pre>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;"><ahref="https://uniapp.dcloud.io/use-html5plus">uni-app使用plus注意事项</a></span></span></p>
<h1 style="margin-left:0;"><span style="color:#474747;"><!--LINK#0_44-->OrderStatementIAP</span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">IAP订单数据对象</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style&#61;&#34;color:#474747&#34;><span style&#61;&#34;background-color:#333333&#34;><code>
<span style&#61;&#34;color:#f0e68c&#34;><strong>interface</strong></span><span style&#61;&#34;color:#ffffff&#34;> plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>payment</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#98fb98&#34;>OrderStatementIAP</span> <span style&#61;&#34;color:#ffffff&#34;>{</span><span style&#61;&#34;color:#ffffff&#34;>
        attribute </span><span style&#61;&#34;color:#98fb98&#34;>String</span><span style&#61;&#34;color:#ffffff&#34;> productid</span><span style&#61;&#34;color:#ffffff&#34;>;</span><span style&#61;&#34;color:#ffffff&#34;>
        attribute </span><span style&#61;&#34;color:#98fb98&#34;>String</span><span style&#61;&#34;color:#ffffff&#34;> username</span><span style&#61;&#34;color:#ffffff&#34;>;</span><span style&#61;&#34;color:#ffffff&#34;>
        attribute </span><span style&#61;&#34;color:#98fb98&#34;>String</span><span style&#61;&#34;color:#ffffff&#34;> quantity</span><span style&#61;&#34;color:#ffffff&#34;>;</span>
<span style&#61;&#34;color:#ffffff&#34;>}</span>
                                </code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>说明&#xff1a;</strong></span></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">描述IAP商品订单信息&#xff0c;如标识、数量等。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>属性&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">productid: <em>(String 类型 )</em>商品的标识</span></li><li><span style="color:#474747;">username: <em>(String 类型 )</em>购买用户名称</span></li><li><span style="color:#474747;">quantity: <em>(String 类型 )</em>商品数量</span></li></ul>
<h1 style="margin-left:0;"><span style="color:#474747;"><!--LINK#0_45-->PaymentResult</span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">支付操作结果对象</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style&#61;&#34;color:#474747&#34;><span style&#61;&#34;background-color:#333333&#34;><code>
<span style&#61;&#34;color:#f0e68c&#34;><strong>interface</strong></span><span style&#61;&#34;color:#ffffff&#34;> plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>payment</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#98fb98&#34;>PaymentResult</span> <span style&#61;&#34;color:#ffffff&#34;>{</span><span style&#61;&#34;color:#ffffff&#34;>
        attribute </span><span style&#61;&#34;color:#98fb98&#34;>PaymentChannel</span><span style&#61;&#34;color:#ffffff&#34;> channel</span><span style&#61;&#34;color:#ffffff&#34;>;</span><span style&#61;&#34;color:#ffffff&#34;>
        attribute </span><span style&#61;&#34;color:#98fb98&#34;>String</span><span style&#61;&#34;color:#ffffff&#34;> tradeno</span><span style&#61;&#34;color:#ffffff&#34;>;</span><span style&#61;&#34;color:#ffffff&#34;>
        attribute </span><span style&#61;&#34;color:#98fb98&#34;>String</span><span style&#61;&#34;color:#ffffff&#34;> description</span><span style&#61;&#34;color:#ffffff&#34;>;</span><span style&#61;&#34;color:#ffffff&#34;>
        attribute </span><span style&#61;&#34;color:#98fb98&#34;>String</span><span style&#61;&#34;color:#ffffff&#34;> url</span><span style&#61;&#34;color:#ffffff&#34;>;</span><span style&#61;&#34;color:#ffffff&#34;>
        attribute </span><span style&#61;&#34;color:#98fb98&#34;>String</span><span style&#61;&#34;color:#ffffff&#34;> signature</span><span style&#61;&#34;color:#ffffff&#34;>;</span><span style&#61;&#34;color:#ffffff&#34;>
        attribute </span><span style&#61;&#34;color:#98fb98&#34;>String</span><span style&#61;&#34;color:#ffffff&#34;> rawdata</span><span style&#61;&#34;color:#ffffff&#34;>;</span>
<span style&#61;&#34;color:#ffffff&#34;>}</span>
                                </code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>说明&#xff1a;</strong></span></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">PaymentResult对象表示支付操作返回结果&#xff0c;用于确认支付操作成功。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>属性&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">channel: <em>(<ahref="https://www.html5plus.org/doc/zh_cn/payment.html#plus.payment.PaymentChannel">PaymentChannel</a> 类型 )</em>支付通道对象</span> <p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">用于发起支付操作的支付通道对象。</span></span></p> <h3 style="margin-left:0;"><span style="color:#474747;">平台支持</span></h3>
   <ul style="margin-left:2em;"><li><span style="color:#474747;">Android - 2.2&#43; (支持)</span></li><li><span style="color:#474747;">iOS - 5.0&#43; (支持)</span></li></ul></li><li><span style="color:#474747;">tradeno: <em>(String 类型 )</em>交易编号信息</span> <p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">如果支付平台不支持此数据则返回undefined。</span></span></p> </li><li><span style="color:#474747;">description: <em>(Boolean 类型 )</em>交易描述信息</span> <p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">如果支付平台不支持此数据则返回undefined。</span></span></p> </li><li><span style="color:#474747;">url: <em>(Boolean 类型 )</em>查找支付交易信息地址</span> <p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">用于向支付平台查询交易信息&#xff0c;如果支付平台不支持此数据则返回undefined。</span></span></p> </li><li><span style="color:#474747;">signature: <em>(String 类型 )</em>支付操作指纹信息</span> <p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">用于向支付平台查询支付订单信息&#xff0c;如果支付平台不支持此数据则返回undefined。</span></span></p> </li><li><span style="color:#474747;">rawdata: <em>(String 类型 )</em>支付平台返回的原始数据</span> <p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">如果支付平台返回key-value类型字符串&#xff0c;则组合成符合JSON格式的字符串。</span></span></p> </li></ul>
<h1 style="margin-left:0;"><span style="color:#474747;"><!--LINK#0_47-->IAPProduct</span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">IAP商品对象</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style&#61;&#34;color:#474747&#34;><span style&#61;&#34;background-color:#333333&#34;><code>
<span style&#61;&#34;color:#f0e68c&#34;><strong>interface</strong></span><span style&#61;&#34;color:#ffffff&#34;> plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>payment</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#98fb98&#34;>IAPProduct</span> <span style&#61;&#34;color:#ffffff&#34;>{</span><span style&#61;&#34;color:#ffffff&#34;>
        attribute </span><span style&#61;&#34;color:#98fb98&#34;>String</span><span style&#61;&#34;color:#ffffff&#34;> productid</span><span style&#61;&#34;color:#ffffff&#34;>;</span><span style&#61;&#34;color:#ffffff&#34;>
        attribute </span><span style&#61;&#34;color:#98fb98&#34;>String</span><span style&#61;&#34;color:#ffffff&#34;> price</span><span style&#61;&#34;color:#ffffff&#34;>;</span><span style&#61;&#34;color:#ffffff&#34;>
        attribute </span><span style&#61;&#34;color:#98fb98&#34;>String</span><span style&#61;&#34;color:#ffffff&#34;> title</span><span style&#61;&#34;color:#ffffff&#34;>;</span><span style&#61;&#34;color:#ffffff&#34;>
        attribute </span><span style&#61;&#34;color:#98fb98&#34;>String</span><span style&#61;&#34;color:#ffffff&#34;> description</span><span style&#61;&#34;color:#ffffff&#34;>;</span>
<span style&#61;&#34;color:#ffffff&#34;>}</span>
                                </code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>说明&#xff1a;</strong></span></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">描述IAP商品详细信息&#xff0c;如标识、价格、标题、描述信息等。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>属性&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">productid: <em>(String 类型 )</em>商品的标识</span></li><li><span style="color:#474747;">price: <em>(String 类型 )</em>商品的价格</span></li><li><span style="color:#474747;">title: <em>(String 类型 )</em>商品标题</span></li><li><span style="color:#474747;">description: <em>(String 类型 )</em>商品的描述信息</span></li></ul>
<h1 style="margin-left:0;"><span style="color:#474747;"><!--LINK#0_48-->IAPProductInfo</span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">购买IAP商品对象</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style&#61;&#34;color:#474747&#34;><span style&#61;&#34;background-color:#333333&#34;><code>
<span style&#61;&#34;color:#f0e68c&#34;><strong>interface</strong></span><span style&#61;&#34;color:#ffffff&#34;> plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>payment</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#98fb98&#34;>IAPProductInfo</span> <span style&#61;&#34;color:#ffffff&#34;>{</span><span style&#61;&#34;color:#ffffff&#34;>
        attribute </span><span style&#61;&#34;color:#98fb98&#34;>String</span><span style&#61;&#34;color:#ffffff&#34;> productIdentifier</span><span style&#61;&#34;color:#ffffff&#34;>;</span><span style&#61;&#34;color:#ffffff&#34;>
        attribute </span><span style&#61;&#34;color:#98fb98&#34;>String</span><span style&#61;&#34;color:#ffffff&#34;> quantity</span><span style&#61;&#34;color:#ffffff&#34;>;</span>
<span style&#61;&#34;color:#ffffff&#34;>}</span>
                                </code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>说明&#xff1a;</strong></span></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">描述购买的IAP商品详细信息&#xff0c;如标识、数量等。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>属性&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">productIdentifier: <em>(String 类型 )</em>商品的标识</span></li><li><span style="color:#474747;">quantity: <em>(String 类型 )</em>商品的数量</span></li></ul>
<h1 style="margin-left:0;"><span style="color:#474747;"><!--LINK#0_49-->IAPTransaction</span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">购买IAP商品交易信息对象</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style&#61;&#34;color:#474747&#34;><span style&#61;&#34;background-color:#333333&#34;><code>
<span style&#61;&#34;color:#f0e68c&#34;><strong>interface</strong></span><span style&#61;&#34;color:#ffffff&#34;> plus</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#ffffff&#34;>payment</span><span style&#61;&#34;color:#ffffff&#34;>.</span><span style&#61;&#34;color:#98fb98&#34;>IAPTransaction</span> <span style&#61;&#34;color:#ffffff&#34;>{</span><span style&#61;&#34;color:#ffffff&#34;>
    attribute </span><span style&#61;&#34;color:#98fb98&#34;>IAPProductInfo</span><span style&#61;&#34;color:#ffffff&#34;> payment</span><span style&#61;&#34;color:#ffffff&#34;>;</span><span style&#61;&#34;color:#ffffff&#34;>
    attribute </span><span style&#61;&#34;color:#98fb98&#34;>String</span><span style&#61;&#34;color:#ffffff&#34;> transactionDate</span><span style&#61;&#34;color:#ffffff&#34;>;</span><span style&#61;&#34;color:#ffffff&#34;>
    attribute </span><span style&#61;&#34;color:#98fb98&#34;>String</span><span style&#61;&#34;color:#ffffff&#34;> transactionIdentifier</span><span style&#61;&#34;color:#ffffff&#34;>;</span><span style&#61;&#34;color:#ffffff&#34;>
    attribute </span><span style&#61;&#34;color:#98fb98&#34;>String</span><span style&#61;&#34;color:#ffffff&#34;> transactionReceipt</span><span style&#61;&#34;color:#ffffff&#34;>;</span><span style&#61;&#34;color:#ffffff&#34;>
    attribute </span><span style&#61;&#34;color:#98fb98&#34;>String</span><span style&#61;&#34;color:#ffffff&#34;> transactionState</span><span style&#61;&#34;color:#ffffff&#34;>;</span>
<span style&#61;&#34;color:#ffffff&#34;>}</span>
                                </code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>说明&#xff1a;</strong></span></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">描述购买的IAP商品交易详细信息&#xff0c;如购买商品信息、交易日期、订单标识等。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>属性&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">payment: <em>(String 类型 )</em>购买商品的信息</span></li><li><span style="color:#474747;">transactionDate: <em>(String 类型 )</em>购买商品的交易日期</span></li><li><span style="color:#474747;">transactionIdentifier: <em>(String 类型 )</em>购买商品的交易订单标识</span></li><li><span style="color:#474747;">transactionReceipt: <em>(String 类型 )</em>购买商品的交易收据</span> <p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">base64编码格式字符串数据。</span></span></p> </li><li><span style="color:#474747;">transactionState: <em>(String 类型 )</em>购买商品的交易状态</span> <p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">可取值&#xff1a;&#34;1&#34;为支付成功&#xff1b;&#34;2&#34;为支付失败&#xff1b;&#34;3&#34;为支付已恢复。</span></span></p> </li></ul>
<h1 style="margin-left:0;"><span style="color:#474747;"><!--LINK#0_50-->ChannelsSuccessCallback</span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">获取支付通道成功回调</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style&#61;&#34;color:#474747&#34;><span style&#61;&#34;background-color:#333333&#34;><code>
<span style&#61;&#34;color:#f0e68c&#34;><strong>void</strong></span> <span style&#61;&#34;color:#98fb98&#34;>ChannelsSuccessCallback</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;> channels </span><span style&#61;&#34;color:#ffffff&#34;>)</span> <span style&#61;&#34;color:#ffffff&#34;>{</span>
        <span style&#61;&#34;color:#87ceeb&#34;>// Get payment channels success code</span>
<span style&#61;&#34;color:#ffffff&#34;>}</span>
                                </code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>说明&#xff1a;</strong></span></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">当获取支付通道列表成功时的回调函数&#xff0c;用于返回终端支持的支付通道列表。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>参数&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">channels: <em>( Array[<ahref="https://www.html5plus.org/doc/zh_cn/payment.html#plus.payment.PaymentChannel">PaymentChannel</a>] ) 必选 </em>数组&#xff0c;系统支持的支付通道PaymentChannel列表</span> <p style="margin-left:0;"></p> </li></ul>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>返回值&#xff1a;</strong></span></span></h2>
<span style="color:#474747;">void : 无</span>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>平台支持&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">Android - 2.2&#43; (支持)</span></li><li><span style="color:#474747;">iOS - 5.0&#43; (支持)</span></li></ul>
<h1 style="margin-left:0;"><span style="color:#474747;"><!--LINK#0_52-->IapRequestOrderSuccessCallback</span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">请求支付商品列表回调方法</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style&#61;&#34;color:#474747&#34;><span style&#61;&#34;background-color:#333333&#34;><code>
<span style&#61;&#34;color:#f0e68c&#34;><strong>void</strong></span><span style&#61;&#34;color:#ffffff&#34;> onsuccess</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;> results </span><span style&#61;&#34;color:#ffffff&#34;>)</span> <span style&#61;&#34;color:#ffffff&#34;>{</span>
        <span style&#61;&#34;color:#87ceeb&#34;>// Payment success code</span>
<span style&#61;&#34;color:#ffffff&#34;>}</span>
                                </code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>说明&#xff1a;</strong></span></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">获取IAP商品列表信息成功时的回调函数&#xff0c;返回商品详细信息。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>参数&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">results: <em>( Array[<ahref="https://www.html5plus.org/doc/zh_cn/payment.html#plus.payment.IAPProduct">IAPProduct</a>] ) 必选 </em>商品信息数据</span> <p style="margin-left:0;"></p> </li></ul>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>返回值&#xff1a;</strong></span></span></h2>
<span style="color:#474747;">void : 无</span>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>平台支持&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">Android - 2.2&#43; (不支持)</span></li><li><span style="color:#474747;">iOS - 5.0&#43; (支持)</span></li></ul>
<h1 style="margin-left:0;"><span style="color:#474747;"><!--LINK#0_54-->IapRestoreComplateRequestCallback</span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">请求已经购买的非消耗性商品和订阅商品回调方法</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style&#61;&#34;color:#474747&#34;><span style&#61;&#34;background-color:#333333&#34;><code>
<span style&#61;&#34;color:#f0e68c&#34;><strong>void</strong></span><span style&#61;&#34;color:#ffffff&#34;> onsuccess</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;> results </span><span style&#61;&#34;color:#ffffff&#34;>)</span> <span style&#61;&#34;color:#ffffff&#34;>{</span>
        <span style&#61;&#34;color:#87ceeb&#34;>// Payment success code</span>
<span style&#61;&#34;color:#ffffff&#34;>}</span>
                                </code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>说明&#xff1a;</strong></span></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">获取IAP商品列表信息成功时的回调函数&#xff0c;返回商品详细信息。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>参数&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">results: <em>( Array[<ahref="https://www.html5plus.org/doc/zh_cn/payment.html#plus.payment.IAPTransaction">IAPTransaction</a>] ) 必选 </em>已购买的非消耗性商品和订阅商品交易信息</span> <p style="margin-left:0;"></p> </li></ul>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>返回值&#xff1a;</strong></span></span></h2>
<span style="color:#474747;">void : 无</span>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>平台支持&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">Android - 2.2&#43; (不支持)</span></li><li><span style="color:#474747;">iOS - 5.0&#43; (支持)</span></li></ul>
<h1 style="margin-left:0;"><span style="color:#474747;"><!--LINK#0_56-->IapPaymentSuccessCallback</span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">IAP支付操作成功回调</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style&#61;&#34;color:#474747&#34;><span style&#61;&#34;background-color:#333333&#34;><code>
<span style&#61;&#34;color:#f0e68c&#34;><strong>void</strong></span> <span style&#61;&#34;color:#98fb98&#34;>PaymentSuccessCallback</span> <span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;> result </span><span style&#61;&#34;color:#ffffff&#34;>)</span> <span style&#61;&#34;color:#ffffff&#34;>{</span>
        <span style&#61;&#34;color:#87ceeb&#34;>// Payment success code</span>
<span style&#61;&#34;color:#ffffff&#34;>}</span>
                                </code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>说明&#xff1a;</strong></span></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">当支付操作成功时的回调函数&#xff0c;用于返回支付操作的成功信息。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>参数&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">result : <em>( <ahref="https://www.html5plus.org/doc/zh_cn/payment.html#plus.payment.IAPTransaction">IAPTransaction</a> ) 必选 </em>支付操作成功的信息</span> <p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">苹果IAP支付返回的数据&#xff0c;类型为IAPTransaction。</span></span></p> </li></ul>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>返回值&#xff1a;</strong></span></span></h2>
<span style="color:#474747;">void : 无</span>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>平台支持&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">Android - 2.2&#43; (不支持)</span></li><li><span style="color:#474747;">iOS - 5.0&#43; (支持)</span></li></ul>
<h1 style="margin-left:0;"><span style="color:#474747;"><!--LINK#0_58-->PaymentSuccessCallback</span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">支付操作成功回调</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style&#61;&#34;color:#474747&#34;><span style&#61;&#34;background-color:#333333&#34;><code>
<span style&#61;&#34;color:#f0e68c&#34;><strong>void</strong></span> <span style&#61;&#34;color:#98fb98&#34;>PaymentSuccessCallback</span> <span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;> result </span><span style&#61;&#34;color:#ffffff&#34;>)</span> <span style&#61;&#34;color:#ffffff&#34;>{</span>
        <span style&#61;&#34;color:#87ceeb&#34;>// Payment success code</span>
<span style&#61;&#34;color:#ffffff&#34;>}</span>
                                </code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>说明&#xff1a;</strong></span></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">当支付操作成功时的回调函数&#xff0c;用于返回支付操作的成功信息。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>参数&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">result : <em>( <ahref="https://www.html5plus.org/doc/zh_cn/payment.html#plus.payment.PaymentResult">PaymentResult</a> ) 必选 </em>支付操作成功的信息</span> <p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">支付返回的数据&#xff0c;类型为PaymentResult。</span></span></p> </li></ul>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>返回值&#xff1a;</strong></span></span></h2>
<span style="color:#474747;">void : 无</span>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>平台支持&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">Android - 2.2&#43; (支持)</span></li><li><span style="color:#474747;">iOS - 5.0&#43; (支持)</span></li></ul>
<h1 style="margin-left:0;"><span style="color:#474747;"><!--LINK#0_60-->PaymentErrorCallback</span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">支付操作失败回调</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style&#61;&#34;color:#474747&#34;><span style&#61;&#34;background-color:#333333&#34;><code>
<span style&#61;&#34;color:#f0e68c&#34;><strong>void</strong></span> <span style&#61;&#34;color:#98fb98&#34;>PaymentErrorCallback</span><span style&#61;&#34;color:#ffffff&#34;>(</span><span style&#61;&#34;color:#ffffff&#34;>error</span><span style&#61;&#34;color:#ffffff&#34;>){</span>
        <span style&#61;&#34;color:#87ceeb&#34;>// Payment error code</span>
<span style&#61;&#34;color:#ffffff&#34;>}</span>
                                </code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>说明&#xff1a;</strong></span></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">当支付操作失败时的回调函数&#xff0c;用于返回支付操作失败的错误信息。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>参数&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">error: <em>( Exception ) 必选 </em>支付操作失败错误信息&#xff0c;可通过error.code获取错误代码&#xff0c;具体错误码有各支付通道定义</span> <p style="margin-left:0;"><span style="color:#474747;"><span style="color:#474747;">支付宝支付错误代码如下&#xff1a; 62000&#xff0c;客户端未安装支付通道依赖的服务&#xff1b; 62001&#xff0c;用户取消支付操作&#xff1b; 62002&#xff0c;此设备不支持支付&#xff1b; 62003&#xff0c;数据格式错误&#xff1b; 62004&#xff0c;支付账号状态错误&#xff1b; 62005&#xff0c;订单信息错误&#xff1b; 62006&#xff0c;支付操作内部错误&#xff1b; 62007&#xff0c;支付服务器错误&#xff1b; 62008&#xff0c;网络问题引起的错误&#xff1b; 62009&#xff0c;其它未定义的错误。 微信支付错误代码如下&#xff1a; -1&#xff0c;一般错误&#xff1b; -2&#xff0c;用户取消&#xff1b; -3&#xff0c;发送失败&#xff1b; -4&#xff0c;认证被否决&#xff1b; -5&#xff0c;不支持错误。</span></span></p> </li></ul>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>返回值&#xff1a;</strong></span></span></h2>
<span style="color:#474747;">void : 无</span>
<h2 style="margin-left:.8em;"><span style="color:#474747;"><span style="color:#f13a0e;"><strong>平台支持&#xff1a;</strong></span></span></h2>
<ul><li><span style="color:#474747;">Android - 2.2&#43; (支持)</span></li><li><span style="color:#474747;">iOS - 5.0&#43; (支持)</span></li></ul>
<div style="margin-left:0;"></div>
</div>
<div style="margin-left:auto;">
<p></p>
</div>
                </div>
      </div>
      <div id="treeSkill"></div>
页: [1]
查看完整版本: Payment模块管理支付功能,用于提供网页安全支付能力,支持通过Web接口进行支付操作。 ...