-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
109 lines (103 loc) · 6.72 KB
/
index.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
<!doctype html>
<html lang="en">
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Add transaction interface to Venmo.com</title>
<meta name="author" content="Micah Cowsik-Herstand">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta property="fb:app_id" content="180472096012557" />
<meta property="og:description" content="Add transaction interface to Venmo.com." />
<meta property="og:image" content="https://herstand.com/venmo-transactions/venmo-txn-ui.png" />
<meta property="og:url" content="https://herstand.com/venmo-transactions/" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Add transaction interface to Venmo.com" />
<meta property="og:image:alt" content="Screenshot of Venmo with transaction interface." />
<!--
Hello developers!
This is Micah. I promise this was made with good intentions and
there's no sneaky stealing or tracking of your data when you use this.
Want to improve this? Make PRs at Github: https://github.com/herstand/venmo-www
Cheers,
~Micah
-->
<style>
* {
box-sizing:border-box;
text-align:center;
}
html,body {
width:100%;
padding:0px;
margin:0px;
}
body {
padding-bottom:20px;
}
main {
margin:0px;
width:800px;
max-width:100%;
padding:0px 20px;
text-align:left;
}
img {
max-width:100%;
}
h1, h2, h3 {
text-align:left;
}
h3 {
margin-bottom:5px;
}
ol {
text-align:left;
margin:0 0 40px 0;
padding-left:0px;
}
li {
text-align:left;
list-style-position:inside;
margin-bottom:5px;
}
a:link {
color:#0055FF;
text-decoration:none;
}
a:visited {
color:#0022AA;
}
a:hover {
color:#0044CC;
}
p {
text-align:left;
margin:0 0 10px 0;0
}
#notes, #notes ~ * {
font-size:75%;
}
</style>
</head>
<body>
<main>
<h1>Venmo blocking you from making transactions online?</h1>
<img src="venmo-block.png" />
<h2>Want to make transactions from their website anyway?</h2>
<img width="500" src="venmo-txn-ui.png" /><br />
<h3 id='instructions'>Instructions</h3>
<ol>
<li>Drag this button into your bookmarks bar: <a style="color:white!important;text-decoration:none!important;display:inline-block;padding:5px;border:1px solid black;background:#3d95ce;border-radius:5px;" href="javascript:(function()%7Bfunction loadPayChargeUI() %7B%24("%23left_and_right .rectBox").html("<div style%3D'color%3A%236a757f%3B padding%3A20px%3B'><h2 style%3D'line-height%3A20px%3B padding%3A0px%3B margin-top%3A0px%3B margin-left%3A0px%3B'><img style%3D'float%3Aleft%3Bmargin-right%3A10px%3Bdisplay%3Ainline-block%3B ' src%3D'"%2Bvenmo.logged_in_user_profile_picture%2B"' %2F>"%2Bvenmo.logged_in_user.best_full_name%2B"<br %2F><span style%3D'font-size%3A12px%3B'>Pay or charge a friend.<%2Fspan><%2Fh2><br %2F><form action%3D'%2Ftransaction%2Fcreate' method%3D'get' id%3D'payCharge'><label style%3D'display%3Ainline-block%3B width%3A100px' for%3D'amount'>Amount%3A<%2Flabel> <input type%3D'text' id%3D'amount' name%3D'amount' placeholder%3D'Amount…' %2F><br %2F><br %2F><label style%3D'vertical-align%3Amiddle%3B height%3A38px%3B display%3Ainline-block%3Bwidth%3A100px' for%3D'recipient'>Add Recipients%3A<%2Flabel> <div style%3D'border%3A1px solid %23999%3B padding%3A3px%3B display%3Ainline-block%3Bposition%3Arelative%3B'><div style%3D'float%3Aleft%3B' id%3D'onebox_typeahead_wrapper'><input style%3D'vertical-align%3Amiddle%3B' type%3D'text' id%3D'onebox_typeahead' placeholder%3D'Type recipient%26apos%3Bs name…' name%3D'recipient' %2F><%2Fdiv><%2Fdiv><br %2F><label style%3D'display%3Ainline-block%3B width%3A100px' for%3D'note'>Note%3A<%2Flabel> <input type%3D'text' maxlength%3D'140' name%3D'note' id%3D'note' placeholder%3D'Note' %2F><br %2F><br %2F><button type%3D'button' name%3D'pay' id%3D'pay' value%3D'pay'>Pay<%2Fbutton><button style%3D'margin-left%3A40px' type%3D'button' name%3D'charge' id%3D'charge' value%3D'charge'>Charge<%2Fbutton><input type%3D'hidden' value%3D'' id%3D'payOrCharge' name%3D'payOrCharge' %2F><%2Fform><%2Fdiv>")%3B%7DloadPayChargeUI()%3Bvenmo.load.autoCompleters()%3B%24("button").click(function(e)%7B%24("%23payOrCharge").val(e.target.name)%3B%24("form%23payCharge").submit()%3B%7D)%3B%24("%23payCharge").submit(function(e)%7Be.preventDefault()%3Bvar txnData %3D %7Btransaction_type%3A %24("%23payOrCharge").val()%2Crecipient%3A %24("form%23payCharge .onebox_recipient_link td")%5B0%5D.innerText%2Camount%3A %24("form%23payCharge %23amount").val()%2Cnote%3A %24("form%23payCharge %23note").val()%2Cpublish_to_facebook%3A false%2Cpublish_to_venmo%3A true%2Caudience%3A "private"%2Caccept_risk %3A true%2Cbank_account_id %3A venmo.logged_in_user.external_id%2Cpublish %3A true%2Cis_last_payment %3A true%2Ccsrfmiddlewaretoken %3A goog.net.cookies.get("csrftoken2")%2Cservice_type %3A %24("form%23payCharge .onebox_recipient_link td")%5B0%5D.innerText%7D%3Bconsole.log("Sending data%3A "%2C txnData)%3Bvenmo.utils.ajax("%2Ftransaction%2Fcreate"%2C txnData%2C %7Bcomplete%3A function(e) %7Bvar rawResponse %3D e.getResponseJson()%3Bvar processedResponse %3D venmo.utils.getAjaxResponse(e)%3Bconsole.log(rawResponse%2C processedResponse)%3Bif (processedResponse.success) %7B%24("%23payCharge").html("<h2 style%3D'color%3A%2300AA00%3B'>Success%3A "%2BrawResponse.venmo.data.resp%2B"<%2Fh2>")%3B%7D else %7B%24("%23payCharge").html("<h2 style%3D'color%3A%23AA0000'>" %2B rawResponse.venmo.api_messages%5B0%5D.title%2B" %5BCode%3A "%2BrawResponse.venmo.api_messages%5B0%5D.error_code%2B"%5D%3A " %2B rawResponse.venmo.api_messages%5B0%5D.api_message %2B"<%2Fh2>")%3B%7D%7D%7D)%3Breturn false%3B%7D)%7D)()">Load Venmo Txn UI</a>
</li>
<li>
Login to <a target="_blank" rel="nofollow noopener" href="https://venmo.com">Venmo.com</a> and click the bookmark to load the transaction interface.
</li>
<li>
Fill out the form and click Pay or Charge to pay or charge someone. Note: only one recipient per transaction is currently supported by this bookmarklet.
</li>
</ol>
<h3 id='notes'>Notes</h3>
<p>Code hosted on Github. Make a PR to improve it! <a rel="nofollow noopener" target="_blank" href="https://github.com/herstand/venmo-www">https://github.com/herstand/venmo-www</a></p>
<p>I have tested both paying and charging people with this bookmarklet and it worked for me. That being said, you're playing with real money here, so use at your own risk. No lifeguard on duty.</p>
<p>This bookmarklet solely allows usage of Venmo.com APIs in ways intended by the architects of the API. Once installed, this bookmarklet is the property of the user. All execution of its code is the legal responsibility of those who click the big red button.</p>
</main>
</body>
</html>