11 月 19 - 20 日 Apache Pulsar 社区年度盛会来啦,立即报名! 了解详情
写点什么

Amazon FPS:可定制的支付服务 & DSL

  • 2007-08-19
  • 本文字数:1530 字

    阅读完需:约 5 分钟

8 月 3 日,Amazon 发布了它的新 Amazon 柔性支付服务( Amazon Flexible Payment Service,Amazon FPS )的受限公开 Beta 测试版。 Amazon 的 CTO Werner Vogels 声称,FPS 为那些需要在他们的应用中引入支付管理服务的开发者提供了“无可匹敌的柔性”。伴随着交易成本的降低,小额支付(micro payments)引起注意,FPS 使用之成为可能,并可使用所谓的支付指令(Payment Instructions)功能方便地定制收费模型。

对于一次交易,支付指令可让开发者为每个团体(Party)定义无限多个单独的支付条件——发送人、接收人和调用者(团体完成 Amazon FPS API 的调用,扮演接收人或推动交易的第三方)。

这样,按照 Amazon 的说法,FPS 允许开发者创建一个完全适合业务需要的支付服务,并建立相对复杂和有所创新的业务模型。这正是 Paul Stamatiou 认为 Amazon FPS 不能直接比作其它传统支付服务的原因。它并不是一个用于支付过程的完整服务,而“更象一种工具,用于搭建一些东西来解决类似的需要,尽管是在一种特殊的情况下。”

Amazon 提供了可能的支付指令的例子

  • 交易总额(Transaction Amount):指定固定最小值、最大值、范围或某次支付的特定总额。
  • 交易日期(Transaction Date):配置在特定时间执行的支付交易(如,特定天、每周、每月或日期范围)。
  • 花费限制(Spending Limit):设置每天、每周或每月的交易次数或花费总额的限制,以控制你应用的花费。
  • 接收人列表(Recipient List):指定被授权访问或接收资金的接收人。
  • 支付方式(Payment Method):指定你接受的应用所提供的支付方式(信用卡、银行账户付款、转账)。
  • 酬金(Fees):控制哪些团体支付 Amazon FPS 的费用。

一旦支付指令被每个团体设计完毕,一项被称为 GateKeeper 的 FPS 的功能就必须验证他们的兼容性,并安装他们以处理交易:

开发者使用 InstallPaymentInstruction API 来安装支付指令,FPS 会传回一个“标记”。每个标记都是唯一的,它是支付指令的安全句柄。一次成功的交易需要 3 个兼容标记,分别是发送人,接收人和调用者。

支付指令可以通过所提供的用户界面(它们往往作为服务条款被提供)来指定,或可使用 GateKeeper 领域特定语言编程描述。Duane Krause 提供了这个 DSL 设计的一些内幕

当我在 Amazon 的时候,我设计了这门语言。[……] 其目的是为了方便日期和现金计算,而不同团体书写计算的不同部分。它同样也方便断言语句的书写,这样如果任一语句求值结果为 false 时,交易将不会发生。这就允许团体设置条件和规则,与动态契约类似,只不过此处是通过这些 GK(即 Gatekeeper)代码片段来设置。所有的代码片段被结合在一块儿并一起运行。

例如,以下的 Gatekeeper 代码使用指定使用限制来创建一个多重使用标记(文档来源):

复制代码
string MyTokenUsageLimit1Type := 'Amount';<br></br>
TransactionTimestamp <= '2008-10-284T05:22-0700' orSay
'TransactionTimestamp used after validity';<br></br>
string PaymentMethod := 'abt';<br></br>
MyRole == 'Sender' orSay 'Role does not match';<br></br>
money MyTokenUsageLimit1 := 'USD 100';<br></br>
duration MyTokenUsageLimit2Period := '1 months';<br></br>
string MyTokenUsageLimit2Type := 'Count';<br></br>
integer MyTokenUsageLimit2 := 5;

据 Krause 所说,Amazon 选择设计一门特定用途的语言原因之一是因为其新支付服务“是一个给予了过多功能的安全关注点,而它们可能可以利用更通用的语言来得到。”此外,它更具表现力,这有助于“简化复杂任务”。

对 Paul Stamatiou 而言, FPS 是支付管理服务领域内的一次重大革新,它建立于“Amazon 从处理货币交易中所学到的所有经验”基础之上。

查看英文原文: Amazon FPS: customized payment service & DSL

2007-08-19 21:421399
用户头像

发布了 255 篇内容, 共 51.0 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

数据库JDBC:PreparedStatement

正向成长

JDBC SQL预处理 PrepareStatement

scrapy学习之爬虫练习平台5

LLLibra146

Python 爬虫 python 爬虫 Scrapy

搞定秒杀,只需要这几步!!

架构师修行之路

缓存 分布式 微服务 秒杀

Java9 新特性 - 下篇

hepingfly

Java 新特性

嵌入式的我们为什么要学ROS

良知犹存

ROS

淘宝内测新内容社区淘宝逛逛:邀请B站UP主入驻打造流量池

石头IT视角

OpenShift 4 监控技术栈解析

东风微鸣

Kubernetes Prometheus openshift 可观察性 Thanos

架构师训练营第七周作业

邓昀垚

图解 | 不得错过的Binder浅析(一)

哈利迪

android

区块链是未来数字经济标志性的发明技术

CECBC

区块链 数字经济

甲方日常 43

句子

工作 随笔杂谈 日常

程序员面试题为什么出得天花乱坠,实际工作中这些根本用不到?

Java架构师迁哥

scrapy学习之爬虫练习平台4

LLLibra146

Python 爬虫 python 爬虫 Scrapy

目标检测之YOLOv1

Dreamer

scrapy学习之爬虫练习平台3

LLLibra146

Python 爬虫 python 爬虫 Scrapy

复盘逆袭之路!三个月时间深造,怒斩拼多多、字节、蚂蚁金服破50W年薪Offer(含自学路线图)

Java架构追梦

Java 学习 架构 面试 数据结构与算法

芯片破壁者(十九):显卡的战国与帝国

脑极体

【面经】面试官:做过性能优化的工作吗?你会从哪些方面入手做性能优化呢?

冰河

面试 性能优化 JVM 高并发 高性能

智能驾驶看湘江:中国智能网联汽车产业的“长沙样本”

脑极体

Amdocs收购OPENET:关于5G应用落地的思考

VoltDB

大数据 数据分析 5G 物联网

让容器应用管理更快更安全,Dragonfly 发布 Nydus 容器镜像加速服务

阿里云基础软件团队

云原生

专业级沙箱与恶意样本的自动化分析

京东科技开发者

云计算 监控 虚拟化

scrapy学习之爬虫练习平台爬取

LLLibra146

爬虫 python 爬虫 Scrapy

DDIA 读书笔记(4)多节点数据复制方案

莫黎

读书笔记

YOLODet 最强PyTorch版的YOLOv5、YOLOv4、PP-YOLO、YOLOv3复现

wuzhihao7788

学习 AI 目标追踪

Scrapy中process_request返回request和None的区别

LLLibra146

Python 爬虫 python 爬虫 Scrapy

SpringBoot-技术专题-war包项目外置配置文件

洛神灬殇

scrapy学习之爬虫练习平台2

LLLibra146

Python 爬虫 python 爬虫 Scrapy

聊点缓存——Part 1

姜雨生

redis 缓存

马云被约谈,阿里大数据的羹怎么分给每一个人?

CECBC

区块链 大数据

巨建华:区块链+金融的难点

CECBC

区块链 金融

Amazon FPS:可定制的支付服务 & DSL_架构_Sadek Drobi_InfoQ精选文章