返回顶部
首页 > 资讯 > 精选 >JavaScrip怎么安全使用Payment Request API
  • 704
分享到

JavaScrip怎么安全使用Payment Request API

2023-07-04 11:07:48 704人浏览 安东尼
摘要

这篇文章主要讲解了“JavaScrip怎么安全使用Payment Request api”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScrip怎么安全使用Pay

这篇文章主要讲解了“JavaScrip怎么安全使用Payment Request api”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScrip怎么安全使用Payment Request API”吧!

    引言

    Payment Request API提供了一个跨浏览器标准,允许您从客户那里收集付款、地址和联系信息。然后,您可以使用这些信息来处理他们的订单。

    它还促进了浏览器和网站之间交换这些信息。这背后的基本思想是通过让用户轻松在浏览器中存储付款和联系信息来改善用户的在线购物体验。

    Payment Request API浏览器支持

    Payment Request API仍在积极开发中,仅受现代浏览器的最后几个版本的支持。

    在开始提出付款请求之前,您应该进行功能检测,以确保浏览器支持API:

    if (window.PaymentRequest) {  // Yes, we can use the API} else {  // No, fallback to the checkout page  window.location.href = '/checkout'}

    请注意,您只能在超过https服务的网站上使用# Payment Request API。

    现在让我们看看这个有用的API是如何工作的。

    如何创建PaymentRequest对象

    付款请求始终通过使用PaymentRequest()构造函数创建PaymentRequest的新对象来启动。构造函数接受两个强制性参数和一个可选参数:

    • paymentMethods定义接受哪种付款方式。例如,您只能接受Visa和MasterCard信用卡。

    • paymentDetails包含应付付款总额、税款、运费、显示项目等。

    • options是一个可选参数,用于向用户请求其他详细信息,例如姓名、电子邮件、电话等。

    接下来,我们将创建一个仅包含所需参数的新付款请求。

    How to use the paymentMethods parameter

    const paymentMethods = [  {    supportedMethods: ['basic-card']  }]const paymentDetails = {  total: {    label: 'Total Amount',    amount: {      currency: 'USD',      value: 8.49    }  }}const paymentRequest = new PaymentRequest(paymentMethods, paymentDetails)

    Notice the supportedMethods parameter in the paymentMethods object. When it is set to basic-card, both debit and credit cards of all networks will be accepted.

    但您可以限制受支持的网络和卡片类型。例如,只有以下Visa、MasterCard和Discover信用卡被接受:

    const paymentMethods = [  {    supportedMethods: ['basic-card'],    data: {      supportedNetworks: ['visa', 'mastercard', 'discover'],      supportedTypes: ['credit']    }  }]// ...

    How to use the paymentDetails object

    传递给PaymentRequest构造函数的第二个参数是付款详细信息对象。它包含订单总数和可选的显示项目数组total参数必须包括一个label参数和一个带有currencyvalue``amount参数。

    您还可以添加其他显示项目,以提供总数的高级细分:

    const paymentDetails = {  total: {    label: 'Total Amount',    amount: {      currency: 'USD',      value: 8.49    }  },  displayItems: [    {      label: '15% Discount',      amount: {        currency: 'USD',        value: -1.49      }    },    {      label: 'Tax',      amount: {        currency: 'USD',        value: 0.79      }    }  ]}

    displayItems参数并不意味着显示一长长的项目列表。由于移动设备上浏览器的支付用户界面的空间有限,您应该使用此参数仅显示顶级字段,如小计、折扣、税费、运费等。

    Keep in mind that the PaymentRequest API does not perfORM any calculations. So your WEB application is responsible for providing the pre-calculated total amount.

    如何使用options参数请求更多详细信息

    您可以使用第三个可选参数向用户请求其他信息,例如姓名、电子邮件地址和电话号码:

    // ...const options = {  requestPayerName: true,  requestPayerPhone: true,  requestPayerEmail: true}const paymentRequest = new PaymentRequest(paymentMethods, paymentDetails, options)

    默认情况下,所有这些值都是false的,但将它们中的任何一个值为true``options对象中将导致付款UI中的额外步骤。如果用户已经在浏览器中存储了这些详细信息,它们将被预先填充。

    如何显示付款用户界面

    创建PaymentRequest对象后,您必须调用show()方法向用户显示付款请求UI。

    show()方法返回一个承诺,如果用户成功填写了详细信息,则该promise将使用aPaymentResponse对象解决。如果出现错误或用户关闭用户界面,则承诺将被拒绝。

    // ...const paymentRequest = new PaymentRequest(paymentMethods, paymentDetails, options)paymentRequest  .show()  .then(paymentResponse => {    // close the payment UI    paymentResponse.complete().then(() => {      // TODO: call REST API to process the payment at the backend server      // with the data from `paymentResponse`.    })  })  .catch(err => {    // user closed the UI or the API threw an error    console.log('Error:', err)  })

    使用上述代码,浏览器将向用户显示付款用户界面。一旦用户填写了详细信息并单击“Pay”按钮,您将在show()承诺中收到PaymentResponse对象。

    当您调用PaymentResponse.complete()方法时,付款请求UI会立即关闭。此方法返回一个新的承诺,以便您可以使用收集的信息调用后端服务器并处理付款。

    JavaScrip怎么安全使用Payment Request API

    如果您想在付款用户界面显示旋转器时致电后端服务器处理付款,您可以延迟调用complete())。

    Let's create a mock function for payment processing with the backend server. It takes paymentResponse as a parameter and returns a promise after 1.5 seconds that resolves to a JSON object:

    const processPaymentWithServer = paymentResponse => {  return new Promise((resolve, reject) => {    setTimeout(() => {      resolve({ status: true })    }, 1500)  })}//...paymentRequest  .show()  .then(paymentResponse => {    processPaymentWithServer(paymentResponse).then(data => {      if (data.status) {        paymentResponse.complete('success')      } else {        paymentResponse.complete('fail')      }    })  })  .catch(err => {    console.log('Error:', err)  })

    在上面的示例中,浏览器支付UI将显示一个处理屏幕,直到processPaymentWithServer()方法返回的承诺得到解决。我们还使用“成功”和“失败”字符串来告诉浏览器交易结果。如果您调用complete('fail')浏览器将向用户显示错误消息。

    如何取消付款请求

    如果您想取消付款请求,因为没有活动或任何其他原因,您可以使用PaymentRequest.abort()方法。它立即关闭付款请求UI,并拒绝show()承诺。

    // ...setTimeout(() => {  paymentRequest    .abort()    .then(() => {      // aborted payment request      console.log('Payment request aborted due to no activity.')    })    .catch(err => {      // error while aborting      console.log('abort() Error: ', err)    })}, 5000)

    感谢各位的阅读,以上就是“JavaScrip怎么安全使用Payment Request API”的内容了,经过本文的学习后,相信大家对JavaScrip怎么安全使用Payment Request API这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

    --结束END--

    本文标题: JavaScrip怎么安全使用Payment Request API

    本文链接: https://lsjlt.com/news/344695.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • JavaScrip怎么安全使用Payment Request API
      这篇文章主要讲解了“JavaScrip怎么安全使用Payment Request API”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScrip怎么安全使用Pay...
      99+
      2023-07-04
    • JavaScrip如何安全使用PaymentRequestAPI详解
      目录引言Payment Request API浏览器支持如何创建PaymentRequest对象How to use the paymentMethods par...
      99+
      2022-11-13
      JavaScrip Payment Request API Payment Request API 安全
    • Jsp 中Request怎么使用
      这篇文章将为大家详细讲解有关Jsp 中Request怎么使用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。jsp中request对象的变量列表<%out.println("Protocol...
      99+
      2023-06-03
    • Javascrip的for循环和数组怎么使用
      这篇文章主要介绍“Javascrip的for循环和数组怎么使用”,在日常操作中,相信很多人在Javascrip的for循环和数组怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Javascrip的for...
      99+
      2023-06-22
    • ASP的request对象怎么使用
      ASP的request对象是用于从客户端接收HTTP请求的对象。使用request对象可以获取客户端发送的信息,如查询字符串参数、表...
      99+
      2023-09-28
      ASP
    • HTML5全屏API怎么用
      本篇内容主要讲解“HTML5全屏API怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTML5全屏API怎么用”吧! FullScreen API 是一...
      99+
      2024-04-02
    • 怎么使用javascrip和HTML5 Canvas绘制转盘抽奖
      本文小编为大家详细介绍“怎么使用javascrip和HTML5 Canvas绘制转盘抽奖”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用javascrip和HTML5 Canvas绘制转盘抽奖”文章能帮助大家解决疑惑,下面跟着小编的...
      99+
      2023-07-04
    • php api 安全验证失败怎么办
      本文操作环境:Windows7系统、PHP7.1、Dell G3。php api 安全验证失败怎么办?php的api接口在实际工作中,使用PHP写api接口是经常做的,PHP写好接口后,前台就可以通过链接获取接口提供的数据,而返回的数据一般...
      99+
      2020-07-26
      php接口安全
    • Docker怎么安装Kong API Gateway并使用
      本篇内容主要讲解“Docker怎么安装Kong API Gateway并使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker怎么安装Kong API Gateway并使用”吧!1 简介...
      99+
      2023-06-20
    • JavaWeb中的Request和Response怎么使用
      这篇“JavaWeb中的Request和Response怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“JavaWeb...
      99+
      2023-07-05
    • php api安全验证失败怎么解决
      这篇文章主要介绍“php api安全验证失败怎么解决”,在日常操作中,相信很多人在php api安全验证失败怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php api安全验证失败怎么解决”的疑惑有所...
      99+
      2023-06-21
    • vue.js全局API之nextTick怎么用
      这篇文章主要介绍了vue.js全局API之nextTick怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。官方介绍:在下次 DOM 更新...
      99+
      2024-04-02
    • WebSocket API怎么使用
      这篇文章主要介绍“WebSocket API怎么使用”,在日常操作中,相信很多人在WebSocket API怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”WebSoc...
      99+
      2024-04-02
    • windows api怎么使用
      使用Windows API需要以下步骤:1. 包含所需的头文件:在使用Windows API之前,需要包含相应的头文件。例如,如果要...
      99+
      2023-10-07
      windows
    • 怎么安全的使用vps主机
      要确保安全地使用VPS主机,您可以采取以下措施: 使用强密码:确保您使用的密码是复杂且难以猜测的,包括字母、数字和特殊字符。 ...
      99+
      2024-04-19
      VPS主机
    • JavaScript DOM API怎么使用
      今天小编给大家分享一下JavaScript DOM API怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面...
      99+
      2024-04-02
    • 怎么使用API接口
      这篇文章主要介绍“怎么使用API接口”,在日常操作中,相信很多人在怎么使用API接口问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用API接口”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!接口交互前...
      99+
      2023-06-16
    • 怎么使用api代理
      本篇内容介绍了“怎么使用api代理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、直接使用代理IP。打开Internet选项,通过对局域网...
      99+
      2023-06-25
    • Page Visibility API怎么使用
      本文小编为大家详细介绍“Page Visibility API怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Page Visibility API怎么使用”文章能帮助大家解决疑惑,下面跟着小...
      99+
      2023-07-02
    • 使用request怎么获取body中的json数据
      使用request怎么获取body中的json数据?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在request中可以获取到来自Http请求的body数据比如获取json格...
      99+
      2023-06-15
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作