通过二维码获得付款

不,不是以像素为单位,而是以欧元为单位。

不,不能用信用卡。

是的,用电话。

动机

如果您销售产品或服务,获得报酬是一个明显的要求。

如今信用卡为王,反正网上也很好。

您拥有大量的支付网关,可以为您处理信用卡、谷歌或苹果支付。

当然是要收费的。

在实体店,你会得到一个信用卡终端。

有些银行可以向您出售更便宜的 android 应用程序,将您的手机变成 cc 终端。

这是值得考虑的,特别是如果您每天只处理几笔付款。

这些选项几乎涵盖了典型消费场景中的所有情况。

一个人上网或进入实体店购买一堆产品或理发。

但是,还有更多。

如果您是非营利组织或公民组织,需要处理小额付款怎么办。 如果您是一家 b2b 公司并且系统开发mhkj33您的客户想要通过直接转账付款怎么办。 或者,如果您只是不想支付约 2-3% 的信用卡付款费用怎么办。

在所有这些情况下,欧盟的答案是 sepa。

更具体地说,sepa 信用转账。

或者它更年轻,但速度更快的兄弟 sepa 即时信用转账。

sepa 信用转账

如果你不熟悉这个名字,别担心,还是老样子的电汇。

例如。你告诉你的银行从你的账户中取出钱并存入别人的账户。

过去需要填写纸质表格,现在只需在手机银行应用程序中点击几下即可。

但是,我们现在有了标准化的国际银行帐号 – iban。

使汇款变得超级容易在欧盟甚至世界各地的任何地方。

通过 sepa instant,您的钱几秒钟内就能到账。

但是,但是系统开发mhkj33iban太长了,简直可怕。

众所周知,人们不擅长输入东西,所以如果你得到正确的数量,你会很高兴,忘记额外的注释。

所有这些问题都可以通过二维码轻松解决。

您的客户可以用手机扫描它们,检查金额并在银行应用程序中单击付款。

随着 sepa 即时信用转账计划中的银行名单不断增加,您的钱眨眼间就到账的机会很高。

在以后的博客中,我们将介绍如何监视您的银行帐户上的收款。

例如,自动生成和发送发票。

我来教你如何生成斯洛伐克和捷克的二维码。

我想让这个列表更长,所以如果您知道在您的国家如何制作二维码,请告诉我。

qr 斯洛伐克

斯洛伐克银行已就名为 pay by square 的通用标准达成一致。

甚至还有一个 url sch系统开发mhkj33ema 可以用于在线场景。

例如。用户单击链接,他们的银行应用程序将启动,并填写所有付款信息。

遗憾的是,这些无法互操作(2024 年)。

让我向您展示如何在 nodejs

中生成二维码。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

app.get(“/api/paybysquare”, mustauth, async (req, res, next) => {

try {

const body = req.query.content as string;

const model = json.parse(body);

const content = await generate(model)系统开发mhkj33;

const qrstream = new passthrough();

const result = await tofilestream(qrstream, content,

{

type: png,

width: 200,

errorcorrectionlevel: h

}

);

qrstream.pipe(res);

} catch (ex) {

next(ex);

}

});

登录后复制

generate方法来自bysquare库。

你可以像往常一样使用 npm 安装它 npm i bysquare

要获取可以在浏览器或发票文档中使用的 png 图像,我们调用如下方法。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

inte系统开发mhkj33rface ibysquaremodel {

iban: string;

amount: number;

currencycode: string; // must be “eur”,

variablesymbol: string;

payments: number; // must be 1,

paymentoptions: number; // must be 1,

bankaccounts: number; // must be 1,

paymentnote?: string; // optional note

}

const bysquareqr = (paymodel: ibysquaremodel) 系统开发mhkj33=> {

return @@##@@

}

登录后复制

在付款中添加描述性消息通常非常有帮助。

这是一些简单的代码,可以规范客户端名称。

这将去掉变音符号,将 ján kováč 变成 jan kovac

应该仍然完全可读,并确保银行系统不会搞砸。

1

const paymentmessage = customername?.normalize(“nfkd”).replace(/[\u0300-\u036f]/g, “”).substring(0, 100) || “”;

登录后复制

qr 捷克共和国

尽管捷克共和国或捷克共和国迄今为止(2024年)抵制欧元,但他们也有二维码计划。

他们甚至还有我们可以使用的免版税代码系统开发mhkj33生成器。

现在,出于安全原因,您可能仍然想自己生成它。

1

2

3

4

5

6

7

const czqrlink = “https://api.paylibo.com/paylibo/generator/image?iban=” + iban + “&amount=” +

czkprice + “&currency=czk&vs=” + vsym +

“&message=” + message;

const czqrimage = (czqrlink: string) => {

return @@##@@

}

登录后复制

国际的

遗憾的是,目前还没有国际或欧洲的二维码标准。

因此,您必须根据系统开发mhkj33用户所在的国家/地区显示正确的二维码。

如果您希望从捷克共和国付款,请记住捷克二维码仅适用于捷克克朗(捷克货币 czk)。

或者,如果您位于捷克共和国,并且希望从斯洛伐克付款,则二维码仅适用于欧元。

下面的代码可以帮助您计算正确的货币金额。

首先我们从央行获取当前的参考汇率。

然后我们根据产品价格和货币计算欧元和捷克克朗的价格。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

const getExchangeRate = async () => {

const now = new Date();

const dt = new系统开发mhkj33 Date(now.getFullYear(), now.getMonth(), now.getDate() – 1).toISOString().substring(0, 10);

const url = “https://nbs.sk/export/sk/exchange-rate/” + dt + “/xml”;

const dat  = { url: url }

const opts = {

headers: {

Content-Type: application/json

},

method: “POST”,

body: JSON.stringify(dat)

}

const resp = await 系统开发mhkj33fetch(“/api/httpfetch”, opts);

const xml = await resp.text();

const parser = new DOMParser();

const xmlDoc = parser.parseFromString(xml, “text/xml”);

const node = xmlDoc.querySelector(“Cube [currency=CZK]”);

if (node) {

const attr = node.getAttribute(“rate”);

if (attr) {

const num = attr.replace(/\s/, “”).r系统开发mhkj33eplace(“,”, “.”);

return +num;

}

}

return undefined;

}

// basePrice is the amount to be paid, for the products or services

// currencyCode is the currency the products or services are sold in.

const czkRate = await getExchangeRate();

const eurPrice = currencyCode === “EUR” ? basePrice : (Math.ceil(basePrice 系统开发mhkj33/ czkRate * 100) / 100).toFixed(2);

const czkPrice = currencyCode === “CZK” ? basePrice : (Math.ceil(basePrice * czkRate * 100) / 100).toFixed(2);

登录后复制

得到报酬

尝试从发票中读取印刷错误的 iban,甚至输入超长的 iban 都是非常烦人的。

你必须非常小心,检查三遍,因为这是钱,更是如此。

我们开发软件是为了让我们的生活更轻松,而用于支付的二维码非常适合这个目标。

我希望您发现这些信息有用,如果您对您的国家二维码方案有任何建议,请按照我的方式拍摄。

黑客快系统开发mhkj33乐!

以上就是通过二维码获得付款的详细内容,更多请关注青狐资源网其它相关文章!

© 版权声明
THE END
喜欢就支持一下吧
点赞510 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容