现在越来越多民众喜欢透过网路付款,在网路付款中很重要的环节就是需要进行线上刷卡,提到网路付款和刷卡就和金流脱不了关系,听起来需要非常复杂的工作? 我们需要什麽具备什麽技能或知识才能实践它?
Stripe为提供个人或公司在网际网路上接受付款服务的支付服务提供商,其包含了在网上接受付款所需的技术、避免信用卡诈骗技术及银行基础设施.也在币值的和付款的方式也提供多元的方法,如:支付宝,PayPal还有一些有得没有.此外,大家熟悉的Uber,Instagram和亚马逊也是仰赖它的服务.题外话,Stripe在2014年时有提供比特币进行交易,不过在2018年时暂停服务了,不过公司近期好像有打算回头支援虚拟货币的动作.
20岁创业,30岁身价百亿
2021年三月,市场估值上看950亿美元
在呼叫任何api时,请记得把Secret key的值encode64後,,并用以下值:Basic {{Token}},带到Header的Authorization里
可以透过此api建立一个客户资讯
api url:https://api.stripe.com/v1/customers method:POST
注意事项:无必填项目 不过建议填写一些资本的资讯,例如:email name description,若未来如果有需要联络时,会比较方便
可以透过此api建立一个产品项目
api url:https://api.stripe.com/v1/products method:POST
注意事项:name 必填 description 个人建议填一下
可以透过此api建立一个基於Product的价格(方案)
api url:https://api.stripe.com/v1/prices method:POST
注意事项:currency unit_amount product 必填,unit_amount的单位是小数点後两位,description个人建议可以填一下,可以增加可读性
如果是一次性的付款 填完金额,币别就可以不用在填写其他资讯了,不过如果想做周期性付款的方案,就必须填写recurring.interval
recurring.interval 可以选频率种类,包含了:day,week,month or year
recurring.interval_count:配合 interval 使用 可以达到每x周的用法,在不填写的情况下预设值为1,不过建议还是完整的填写
上面的逻辑是,先建产品名称再建立价格资讯和产品绑在一起 But Why ??????
一个产品底下有多种价格种类 可以做不同的方案,例如:Netflix 方案基本:270,标准:330,高级:390 或是 年缴费用<月缴费用*12 之类的状况
是建立一笔报价单的草稿,并非正式给客户的报价单
api url:https://api.stripe.com/v1/quotes method:POST
建立时无必填栏位,但建议 customer,line_items[0][price],line_items[0][quantity]在这个阶段就填好,否则无法执行finalize. 如果真的没填,还是可以再透过update的api处理(如果有填price,不填写quantity时,quantity预设值为 1)
在一个 Quotes 里,如果想要有两笔 price 就用 line_items[1][price],line_items[1][quantity]
制作报价单的初稿,通常是跟客户讨价还价完後,确定制成报价单才执行它
api url:https://api.stripe.com/v1/quotes/:id/finalize method:POST
下载报价单pdf档,如果还没finalize无法执行这步,此步骤并非必要执行的项目,如果想省略下载pdf寄给客户的流程,可以直接执行step 3,以系统面来说并不会有任何问题
为了寄出PDF给客户,确认报价单的内容,透过这个api下载pdf档
api url:https://files.stripe.com/v1/quotes/:id/pdf method:GET
双方确认报价单内容,通常是客户确认完 step 2.5 的档案才执行它,执行後如果这笔Quotes有包含interval时则会建立一个subscription和invoices(状态为Scheduled),否则只会建立invoices(状态是Draft)
api url:https://api.stripe.com/v1/quotes/:id/accept method:POST
invoice 是付款通知,会包含厂商名称,商品清单及应付款项,在执行完finalize invoice後会产生请对方付款的网址hosted_invoice_url和pdf档invoice_pdf,分别是付款连结和付款通知的pdf档
invoice 和 receipt是什麽?
原本到此步骤为执行前invoice的状态还是Draft,此步骤表示对invoice进行确认,状态变为Open
api url:https://api.stripe.com/v1/invoice/:id/finalize method:POST
执行完後,状态会从Draft变成Open,会建立一个payment_intent(状态是Incomplete)并回传一些重要的资讯
1.payment_intent:为新建立payment_intent的id
2.hosted_invoice_url:付款连结,打开连结会开启网页,内容如下图所示
3.invoice_pdf:invoice的pdf档案,档案内容如下图所示(pdf内也会包含hosted_invoice_url的付款连结)
payment_intent里面都包含和付款相关的资讯,如金额,币别,invoice的id以及很重要的client_secret
api url:https://api.stripe.com/v1/payment_intents/:id method:GET
payment_intent会有client_secret,可以将它的值贴到以下为官网范例中的CLIENT_SECRET
import {Elements} from '@stripe/react-stripe-js';
import {loadStripe} from '@stripe/stripe-js';
// Make sure to call `loadStripe` outside of a component’s render to avoid
// recreating the `Stripe` object on every render.
const stripePromise = loadStripe('pk_test_51IVSdRAD0tKSURJ2p8ZQSOGoNcPMXBlUyAdvh13E1AIQyHbw9MSDW3FmKwTN6TN0VjtL96lntmlV6MmQTSLfcQQJ00jEHp49QD');
function App() {
const options = {
// passing the client secret obtained from the server
clientSecret: '{{CLIENT_SECRET}}',
};
return (
<Elements stripe={stripePromise} options={options}>
<CheckoutForm />
</Elements>
);
};
随便做了一个爆干丑的表单,不过主要想呈现的是可以把付款表单嵌到自己的网页上进行付款,不一定要另开一个Stripe的分页进行付款(前端安装:yarn add @stripe/react-stripe-js @stripe/stripe-js)
付款完成後会产生receipt,通常会把这份档案给客户,表示我司有收到对方的付款,也方便会计(内部)作业
api url:https://api.stripe.com/v1/payment_intents/:id method:GET
里面的 receipt_url开启後,下载收据後的pdf内容如下
subscription 是基於quotes建立的订阅,在Accept Quotes执行後产生,在第一次付款之後,在未来会依照周期规则重复循环的使用第一次付款的信用卡进行自动刷卡
此步骤表示对invoice进行确认,在Accept Quotes执行成功後,依照流程的话这边的status状态为scheduled,把滑鼠移过去会显示:This draft invoice was generated by a subscription. It can be edited until it's automatically finalized in 1 hour.表示可以摆个一小时左右等待系统帮我们执行,不过也可以手动执行,执行完成後状态会变为Open,在网页上显示Payment will be retried in 1 hour
api url:https://api.stripe.com/v1/invoice/:id/finalize method:POST
再过一小时後状态会从变为Retrying,会变成Payment failed,Payment will be retried in 5 days,不过仍然可以付款(再五天继续不付钱又变成Payment will be retried in 4 days,没试过继续不付款会怎样)
执行完後,会从Scheduled变成Open,会建立一个payment_intent(状态是Incomplete)并回传一些重要的资讯
1.payment_intent:为新建立payment_intent的id
2.hosted_invoice_url:付款连结,打开连结会开启网页,内容如下图所示
4.3.invoice_pdf:invoice的pdf档案,档案内容如下图所示(pdf内也会包含hosted_invoice_url的付款连结)
payment_intent里面都包含和付款相关的资讯,如金额,币别,invoice的id以及很重要的client_secret
api url:https://api.stripe.com/v1/payment_intents/:id method:GET
payment_intent会有client_secret,可以将它的值贴到以下为官网范例中的CLIENT_SECRET
import {Elements} from '@stripe/react-stripe-js';
import {loadStripe} from '@stripe/stripe-js';
// Make sure to call `loadStripe` outside of a component’s render to avoid
// recreating the `Stripe` object on every render.
const stripePromise = loadStripe('pk_test_51IVSdRAD0tKSURJ2p8ZQSOGoNcPMXBlUyAdvh13E1AIQyHbw9MSDW3FmKwTN6TN0VjtL96lntmlV6MmQTSLfcQQJ00jEHp49QD');
function App() {
const options = {
// passing the client secret obtained from the server
clientSecret: '{{CLIENT_SECRET}}',
};
return (
<Elements stripe={stripePromise} options={options}>
<CheckoutForm />
</Elements>
);
};
随便做了一个爆干丑的表单,不过主要想呈现的是可以把付款表单嵌到自己的网页上进行付款,不一定要另开一个Stripe的分页进行付款(前端安装:yarn add @stripe/react-stripe-js @stripe/stripe-js)
付款完成後会产生receipt,通常会把这份档案给客户,表示我司有收到对方的付款,也方便会计(内部)作业
api url:https://api.stripe.com/v1/payment_intents/:id method:GET
找到里面的receipt_url就会有连结可以下载pdf档案
线上付款虽然方便,不过付款前还是要再次确认金额和品项还有币值.
e - event HTML <body> <input type="b...
Q: 软件工程师最常说的谎言有哪些? A: //TODO 连假结束 wednesday blue ...
哈罗大家好~ 在这个数据为王的时代,很多人都知道数据的重要性,但除了数据蒐集,视觉化呈现并进行分析,...
本文内容 本文内容为阅读有关 Angular 的元件的 lifecycle hook - ngOnD...
本篇重点 订阅期货盘中tick资讯 订阅期货盘中bidask资讯 官方说明文件:https://si...