我的编程空间,编程开发者的网络收藏夹
学习永远不晚

JavaScrip怎么安全使用Payment Request API

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

JavaScrip怎么安全使用Payment Request API

这篇文章主要讲解了“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这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    JavaScrip怎么安全使用Payment Request API

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档

    猜你喜欢

    JavaScrip怎么安全使用Payment Request API

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

    Docker怎么安装Kong API Gateway并使用

    本篇内容主要讲解“Docker怎么安装Kong API Gateway并使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker怎么安装Kong API Gateway并使用”吧!1 简介
    2023-06-20

    怎么安全的使用vps主机

    要确保安全地使用VPS主机,您可以采取以下措施:使用强密码:确保您使用的密码是复杂且难以猜测的,包括字母、数字和特殊字符。及时更新系统和应用程序:定期更新您的操作系统和安装的应用程序,以修补已知的安全漏洞。安装防火墙:配置防火墙来监控和过滤
    怎么安全的使用vps主机
    2024-04-19

    怎么使用ABAP Restful API进行代码的全文搜索

    这篇文章主要介绍“怎么使用ABAP Restful API进行代码的全文搜索”,在日常操作中,相信很多人在怎么使用ABAP Restful API进行代码的全文搜索问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
    2023-06-04

    使用云主机不安全怎么办

    云主机的安全风险包括网络攻击、数据泄露和账户劫持。实施安全措施,如防火墙、数据加密和多因素身份验证,可降低这些风险。云提供商和用户都对云主机安全负有责任。用户应采取最佳实践,如遵循云提供商的安全指南和接受安全意识培训,以最大程度地减少安全风险。
    使用云主机不安全怎么办
    2024-04-10

    怎么让VPS主机使用更安全

    定期更新操作系统和软件:确保在VPS上安装的操作系统和软件都是最新的版本,以修复潜在的安全漏洞。安装防火墙:配置并启用防火墙,限制对VPS的未经授权访问,并防止恶意流量进入VPS。使用强密码:设置复杂且独一无二的密码来保护VPS的登录凭证。
    怎么让VPS主机使用更安全
    2024-04-19

    使用云主机不安全怎么办

    如果您认为云主机不安全,可以采取以下措施来增强安全性:1. 使用强密码:确保云主机账号和相关服务的密码足够复杂和安全,包括字母、数字和特殊字符的组合,并定期更改密码。2. 更新和修补漏洞:定期检查和更新云主机上的操作系统、应用程序和软件,以
    2023-09-20

    怎么安全使用代理ip上网

    本篇内容介绍了“怎么安全使用代理ip上网”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!随着互联网的发展,网络安全问题也不容忽视,为了保护自己
    2023-06-20

    怎么使用semanage管理SELinux安全策略

    这篇文章给大家分享的是有关怎么使用semanage管理SELinux安全策略的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。semanage命令 是用来查询与修改SELinux默认目录的安全上下文。SELinux的
    2023-06-28

    云服务器安全设置器怎么使用

    云服务器安全设置器是一个非常方便实用的工具,可以帮助用户在云服务器上添加和配置安全策略以及保护用户的数据。以下是一些使用云服务器安全设置器的示例步骤:打开“我的电脑”中的“管理”选项卡,然后在左侧导航栏中选择“服务”。在服务列表中选择“SecurityEssentials”服务。在SecurityEssentials服务的“Provider”选项卡中,选择“SecurityM
    2023-10-26

    Angular本地存储安全技术怎么使用

    这篇文章主要介绍“Angular本地存储安全技术怎么使用”,在日常操作中,相信很多人在Angular本地存储安全技术怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Angular本地存储安全技术怎么使用
    2023-07-05

    java线程安全Synchronized关键字怎么使用

    这篇文章主要介绍“java线程安全Synchronized关键字怎么使用”,在日常操作中,相信很多人在java线程安全Synchronized关键字怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jav
    2023-06-04

    Springboot怎么使用内置tomcat禁止不安全HTTP

    本文小编为大家详细介绍“Springboot怎么使用内置tomcat禁止不安全HTTP”,内容详细,步骤清晰,细节处理妥当,希望这篇“Springboot怎么使用内置tomcat禁止不安全HTTP”文章能帮助大家解决疑惑,下面跟着小编的思路
    2023-06-08

    云服务器安全设置器怎么使用的

    一、管理界面的使用在使用云服务器安全设置器之前,首先需要创建一个云服务器管理员账户,并添加一个云服务器管理员角色。这个角色应该是由用户手动创建的,用户可以通过该角色来管理云服务器的各种设置和安全性。在管理界面中,用户可以使用以下功能进行云服务器的安全设置:访问控制:可以设置哪些用户可以访问云服务器,并限制他们的访问权限
    云服务器安全设置器怎么使用的
    2023-10-27

    使用shopex虚拟主机怎么提高安全性

    使用shopex虚拟主机提高安全性的方法:1、使用第三方服务器专用安全软件,能保护shopex虚拟主机的数据安全;2、限制用户上传文件的类型,避免木马通过用户端上传;3、使用site命令检查搜索结果是否有违法内容,并及时进行清除;4、规范s
    2023-02-17

    编程热搜

    • Python 学习之路 - Python
      一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
      Python 学习之路 - Python
    • chatgpt的中文全称是什么
      chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
      chatgpt的中文全称是什么
    • C/C++中extern函数使用详解
    • C/C++可变参数的使用
      可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
      C/C++可变参数的使用
    • css样式文件该放在哪里
    • php中数组下标必须是连续的吗
    • Python 3 教程
      Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
      Python 3 教程
    • Python pip包管理
      一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
      Python pip包管理
    • ubuntu如何重新编译内核
    • 改善Java代码之慎用java动态编译

    目录