-
Notifications
You must be signed in to change notification settings - Fork 1
/
pay.html
123 lines (113 loc) · 3.69 KB
/
pay.html
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
---
title: Pay Anthony Ciccarello
layout: page
noindex: true
---
<style type="text/css">
article {
text-align: center;
}
.providers-list {
padding: 0;
}
.providers-list li {
list-style: none;
margin: 2.5rem 0;
}
img.provider-icon {
display: block;
height: 200px;
width: 200px;
margin: 0.5rem auto;
border-radius: 0.5rem;
}
.inactive-payment {
opacity: 0.5;
text-decoration: line-through;
}
:has(#show-qr-codes:checked) article:after {
--box-width: 400px;
--overlay-color: rgba(0,0,0,0.75);
--blur-radius: 50px;
content: "";
display: block;
pointer-events: none;
position: fixed;
top: 50vh;
left: 50vw;
width: var(--box-width);
height: var(--box-width);
transform: translate(calc(var(--box-width) / -2), calc(var(--box-width) / -2));
box-shadow: 0 0 0 100vmax var(--overlay-color),
inset 0 0 calc(var(--blur-radius) - 10px) var(--blur-radius) var(--overlay-color);
}
</style>
<p>Accepted services ordered by preference. See <a href="/referrals">referrals page</a> for sign up deals.</p>
<label><input type="checkbox" id="show-qr-codes"> Show QR codes</label>
<ol class="providers-list">
<li>
<img src="/assets/img/icon-zele.png" alt="" class="provider-icon"
data-qr-code="https://enroll.zellepay.com/qr-codes?data=eyJuYW1lIjoiQW50aG9ueSIsInRva2VuIjoiYW50aG9ueUBjaWNjYXJlbG"/>
Zelle ([email protected])
<p>
Bank-to-bank.
<a href="https://www.zellepay.com/get-started">Learn More</a>
</p>
</li>
<li>
<a href="https://venmo.com/u/ajciccarello" tabindex="-1" aria-hidden="true">
<img src="/assets/img/icon-venmo.svg" alt="" class="provider-icon"
data-qr-code="https://venmo.com/code?user_id=3454410042639796876&created=1731055849"/>
</a>
Venmo (<a href="https://venmo.com/u/ajciccarello">@ajciccarello</a>)
</li>
<li>
<a href="https://paypal.me/ajciccarello" tabindex="-1" aria-hidden="true">
<img src="/assets/img/icon-paypal.png" alt="" class="provider-icon"
data-qr-code="https://www.paypal.com/qrcodes/p2pqrc/WBY7MRW7N9RGE"/>
</a>
Paypal (<a href="https://paypal.me/ajciccarello">@ajciccarello</a>)
</li>
<li class="inactive-payment">
<a href="https://wise.com/invite/spu/anthonyjosephc6" tabindex="-1" aria-hidden="true">
<img src="/assets/img/icon-wise.png" alt="" class="provider-icon"/>
</a>
Wise (<a href="https://wise.com/invite/spu/anthonyjosephc6">[email protected]</a>)
<p>
International payments (currently disabled)
<a href="https://wise.com/invite/dic/anthonyjosephc6">Referral code</a>
</p>
</li>
</ol>
<script defer>
const params = new URLSearchParams(window.location.search);
const amount = params.get("amount");
if (amount) {
// https://venmo.com/u/ajciccarello?amount=5
document
.querySelectorAll('a[href*="venmo.com"]')
.forEach((venmoLink) => venmoLink.href = venmoLink.href + `?txn=pay&amount=${amount}`);
// https://paypal.me/ajciccarello/5
document
.querySelectorAll('a[href*="paypal.me"]')
.forEach((paypalLink) => paypalLink.href = paypalLink.href + `/${amount}`);
}
document.getElementById('show-qr-codes').addEventListener('change', async (event) => {
const showQrCodes = event.target.checked;
// Using skypack version since the npm version wasn't bundled
const QRCode = await import('https://cdn.skypack.dev/qrcode@1');
document
.querySelectorAll('img[data-qr-code]')
.forEach(async (element) => {
if (!element.hasAttribute('src-original')) {
element.setAttribute('src-original', element.src);
}
if (showQrCodes) {
const qrCodeUrl = element.getAttribute('data-qr-code');
element.src = await QRCode.toDataURL(qrCodeUrl, { width: 200 })
} else {
element.src = element.getAttribute('src-original');
}
});
});
</script>