@zkp2p/providers 7.9.0 → 7.9.1-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/.claude/worktrees/paypal-note-optional-redaction/LICENSE +21 -0
  2. package/.claude/worktrees/paypal-note-optional-redaction/README.md +546 -0
  3. package/.claude/worktrees/paypal-note-optional-redaction/alipay/register_alipay.json +58 -0
  4. package/.claude/worktrees/paypal-note-optional-redaction/alipay/transfer_alipay.json +87 -0
  5. package/.claude/worktrees/paypal-note-optional-redaction/bankofamerica/transfer_zelle.json +126 -0
  6. package/.claude/worktrees/paypal-note-optional-redaction/cashapp/transfer_cashapp.json +147 -0
  7. package/.claude/worktrees/paypal-note-optional-redaction/chase/transfer_zelle.json +156 -0
  8. package/.claude/worktrees/paypal-note-optional-redaction/chime/transfer_chime.json +130 -0
  9. package/.claude/worktrees/paypal-note-optional-redaction/citi/transfer_zelle.json +126 -0
  10. package/.claude/worktrees/paypal-note-optional-redaction/idfc/transfer_idfc.json +109 -0
  11. package/.claude/worktrees/paypal-note-optional-redaction/luxon/transfer_luxon.json +119 -0
  12. package/.claude/worktrees/paypal-note-optional-redaction/mercadopago/transfer_mercadopago.json +129 -0
  13. package/.claude/worktrees/paypal-note-optional-redaction/monzo/transfer_monzo.json +130 -0
  14. package/.claude/worktrees/paypal-note-optional-redaction/n26/transfer_n26.json +130 -0
  15. package/.claude/worktrees/paypal-note-optional-redaction/package.json +22 -0
  16. package/.claude/worktrees/paypal-note-optional-redaction/paypal/register_paypal.json +89 -0
  17. package/.claude/worktrees/paypal-note-optional-redaction/paypal/transfer_business_paypal.json +124 -0
  18. package/.claude/worktrees/paypal-note-optional-redaction/paypal/transfer_paypal.json +138 -0
  19. package/.claude/worktrees/paypal-note-optional-redaction/providers.json +23 -0
  20. package/.claude/worktrees/paypal-note-optional-redaction/revolut/transfer_revolut.json +138 -0
  21. package/.claude/worktrees/paypal-note-optional-redaction/royalbankcanada/transfer_interac.json +89 -0
  22. package/.claude/worktrees/paypal-note-optional-redaction/td_bank/transfer_zelle.json +112 -0
  23. package/.claude/worktrees/paypal-note-optional-redaction/usbank/transfer_zelle.json +127 -0
  24. package/.claude/worktrees/paypal-note-optional-redaction/venmo/register_venmo.json +77 -0
  25. package/.claude/worktrees/paypal-note-optional-redaction/venmo/transfer_venmo.json +120 -0
  26. package/.claude/worktrees/paypal-note-optional-redaction/wellsfargo/transfer_zelle.json +137 -0
  27. package/.claude/worktrees/paypal-note-optional-redaction/wise/register_wise.json +81 -0
  28. package/.claude/worktrees/paypal-note-optional-redaction/wise/transfer_wise.json +157 -0
  29. package/package.json +1 -1
  30. package/paypal/transfer_paypal.json +2 -3
@@ -0,0 +1,130 @@
1
+ {
2
+ "actionType": "transfer_n26",
3
+ "proofEngine": "reclaim",
4
+ "authLink": "https://app.n26.com/",
5
+ "url": "https://app.n26.com/graphql?op=getFeedTransactionQuery",
6
+ "method": "POST",
7
+ "body": "{{BODY}}",
8
+ "metadata": {
9
+ "shouldReplayRequestInPage": true,
10
+ "platform": "n26",
11
+ "urlRegex": "https://app.n26.com/graphql\\?op=getFeedTransactionQuery",
12
+ "method": "POST",
13
+ "fallbackUrlRegex": "",
14
+ "fallbackMethod": "",
15
+ "preprocessRegex": "",
16
+ "transactionsExtraction": {
17
+ "transactionJsonPathListSelector": "",
18
+ "transactionJsonPathSelectors": {
19
+ "recipient": "$.data.transaction.containers[0].body[0].title",
20
+ "amount": "$.data.transaction.containers[0].body[0].amount.money.unscaledAmount",
21
+ "date": "$.data.transaction.containers[0].body[0].subtitle",
22
+ "paymentId": "$.data.transaction.containers[1].body[1].action.tracking.property",
23
+ "currency": "$.data.transaction.containers[0].body[0].amount.money.currency.code"
24
+ }
25
+ },
26
+ "proofMetadataSelectors": [
27
+ {
28
+ "type": "jsonPath",
29
+ "value": "$.data.transaction.containers[0].body[0].amount.money.unscaledAmount"
30
+ },
31
+ {
32
+ "type": "jsonPath",
33
+ "value": "$.data.transaction.containers[0].body[0].amount.money.currency.code"
34
+ },
35
+ {
36
+ "type": "jsonPath",
37
+ "value": "$.data.transaction.containers[0].body[0].title"
38
+ },
39
+ {
40
+ "type": "jsonPath",
41
+ "value": "$.data.transaction.containers[0].body[0].subtitle"
42
+ },
43
+ {
44
+ "type": "jsonPath",
45
+ "value": "$.data.transaction.containers[1].body[1].action.tracking.property"
46
+ },
47
+ {
48
+ "type": "jsonPath",
49
+ "value": "$.data.transaction.containers[1].body[1].action.params.iban"
50
+ }
51
+ ],
52
+ "userInput": {
53
+ "promptText": "Select a transfer below to proceed with authentication",
54
+ "transactionXpath": "//section[@id='feed-pending-module']//div[contains(@class,'q1hbnk3w') and contains(@class,'q1hbnk5w')]"
55
+ }
56
+ },
57
+ "paramNames": [
58
+ "BODY"
59
+ ],
60
+ "paramSelectors": [
61
+ {
62
+ "type": "regex",
63
+ "value": "^(.*)$",
64
+ "source": "requestBody"
65
+ }
66
+ ],
67
+ "skipRequestHeaders": [
68
+ "Cookie",
69
+ "csrf-token",
70
+ "Accept-Encoding",
71
+ "referer"
72
+ ],
73
+ "secretHeaders": [
74
+ "Cookie",
75
+ "csrf-token"
76
+ ],
77
+ "responseMatches": [
78
+ {
79
+ "type": "regex",
80
+ "value": "\"unscaledAmount\":\"(?<amount>[^\"]+)\""
81
+ },
82
+ {
83
+ "type": "regex",
84
+ "value": "\"code\":\"(?<currency>[^\"]+)\""
85
+ },
86
+ {
87
+ "type": "regex",
88
+ "value": "\"subtitle\":\"(?<date>[^\"]+)\""
89
+ },
90
+ {
91
+ "type": "regex",
92
+ "value": "\"property\":\"(?<paymentId>[0-9a-fA-F-]{36})\""
93
+ },
94
+ {
95
+ "type": "regex",
96
+ "value": "\"iban\":\"(?<recipientId>[A-Z]{2}[A-Z0-9]+)\""
97
+ }
98
+ ],
99
+ "responseRedactions": [
100
+ {
101
+ "jsonPath": "$.data.transaction.containers[0].body[0].amount.money.unscaledAmount",
102
+ "xPath": ""
103
+ },
104
+ {
105
+ "jsonPath": "$.data.transaction.containers[0].body[0].amount.money.currency.code",
106
+ "xPath": ""
107
+ },
108
+ {
109
+ "jsonPath": "$.data.transaction.containers[0].body[0].subtitle",
110
+ "xPath": ""
111
+ },
112
+ {
113
+ "jsonPath": "$.data.transaction.containers[1].body[1].action.tracking.property",
114
+ "xPath": ""
115
+ },
116
+ {
117
+ "jsonPath": "$.data.transaction.containers[1].body[1].action.params.iban",
118
+ "xPath": ""
119
+ }
120
+ ],
121
+ "mobile": {
122
+ "includeAdditionalCookieDomains": [],
123
+ "useExternalAction": true,
124
+ "external": {
125
+ "actionLink": "n26://",
126
+ "appStoreLink": "https://apps.apple.com/app/id956857223",
127
+ "playStoreLink": "https://play.google.com/store/apps/details?id=de.number26.android"
128
+ }
129
+ }
130
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "@zkp2p/providers",
3
+ "version": "7.9.1-rc.1",
4
+ "description": "Provider JSON templates for ZKP2P",
5
+ "scripts": {
6
+ "start": "node index.js"
7
+ },
8
+ "files": [
9
+ "**/*.json",
10
+ "README.md",
11
+ "LICENSE"
12
+ ],
13
+ "sideEffects": false,
14
+ "publishConfig": {
15
+ "access": "public"
16
+ },
17
+ "devDependencies": {
18
+ "cors": "^2.8.5",
19
+ "express": "^4.18.2"
20
+ },
21
+ "packageManager": "yarn@3.6.3+sha512.d432ab8b22b89cb8b46649ebaf196159b0c1870904224771d75fdf8b55490aaa5de4d9f028deb0425f1513bff7843e97b9d117103795a23b12d2e7c1cedcf50f"
22
+ }
@@ -0,0 +1,89 @@
1
+ {
2
+ "actionType": "register_paypal",
3
+ "proofEngine": "reclaim",
4
+ "authLink": "https://www.paypal.com/myaccount/profile/",
5
+ "url": "https://www.paypal.com/myaccount/profile/home/api/user",
6
+ "method": "GET",
7
+ "body": "",
8
+ "metadata": {
9
+ "platform": "paypal",
10
+ "urlRegex": "^https://www.paypal.com/myaccount/profile/home/api/user\\?locale\\.x=[^&]+&country\\.x=[A-Z]{2}(?:&.*)?$",
11
+ "method": "GET",
12
+ "fallbackUrlRegex": "",
13
+ "fallbackMethod": "",
14
+ "preprocessRegex": "",
15
+ "transactionsExtraction": {
16
+ "transactionJsonPathListSelector": "",
17
+ "transactionJsonPathSelectors": {
18
+ "email": "$.data.emails.emailPreference.email",
19
+ "paypalMeLink": "$.data.paypalMe.link"
20
+ }
21
+ },
22
+ "proofMetadataSelectors": [
23
+ {
24
+ "type": "jsonPath",
25
+ "value": "$.data.emails.emailPreference.email"
26
+ },
27
+ {
28
+ "type": "jsonPath",
29
+ "value": "$.data.paypalMe.link"
30
+ }
31
+ ]
32
+ },
33
+ "paramNames": [],
34
+ "paramSelectors": [],
35
+ "skipRequestHeaders": [
36
+ "Cookie",
37
+ "Accept-Encoding"
38
+ ],
39
+ "secretHeaders": [
40
+ "Cookie"
41
+ ],
42
+ "responseMatches": [
43
+ {
44
+ "type": "regex",
45
+ "value": "(?<email>[^\"\\s]*@[^\"\\s]*)"
46
+ },
47
+ {
48
+ "type": "regex",
49
+ "value": "paypal\\.me\\/(?<paypalUsername>[^\"\\/\\s]+)"
50
+ }
51
+ ],
52
+ "responseRedactions": [
53
+ {
54
+ "jsonPath": "$.data.emails.emailPreference.email",
55
+ "xPath": ""
56
+ },
57
+ {
58
+ "jsonPath": "$.data.paypalMe.link",
59
+ "xPath": ""
60
+ }
61
+ ],
62
+ "mobile": {
63
+ "includeAdditionalCookieDomains": [],
64
+ "additionalClientOptions": {
65
+ "cipherSuites": [
66
+ "TLS_CHACHA20_POLY1305_SHA256",
67
+ "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
68
+ "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256"
69
+ ]
70
+ },
71
+ "userAgent": {
72
+ "android": "Mozilla/5.0 (Linux; Android 13; Pixel 6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.6367.207 Mobile Safari/537.36",
73
+ "ios": "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.4 Safari/605.1.15"
74
+ },
75
+ "useExternalAction": true,
76
+ "external": {
77
+ "actionLink": "paypal://",
78
+ "appStoreLink": "https://apps.apple.com/us/app/paypal-pay-send-save/id283646709",
79
+ "playStoreLink": "https://play.google.com/store/apps/details?id=com.paypal.android.p2pmobile&hl=en_US"
80
+ },
81
+ "login": {
82
+ "usernameSelector": "#email, input[name=\"login_email\"][type=\"email\"]",
83
+ "passwordSelector": "#password, input[name=\"login_password\"][type=\"password\"]",
84
+ "nextSelector": "#btnNext, button[name=\"btnNext\"][type=\"submit\"]",
85
+ "submitSelector": "#btnLogin, button[name=\"btnLogin\"], button.actionContinue[value=\"Login\"], button[value=\"Login\"][type=\"submit\"]",
86
+ "revealTimeoutMs": 5000
87
+ }
88
+ }
89
+ }
@@ -0,0 +1,124 @@
1
+ {
2
+ "actionType": "transfer_business_paypal",
3
+ "proofEngine": "reclaim",
4
+ "authLink": "https://www.paypal.com/mep/unifiedtransactions/?filter=0&query=",
5
+ "url": "https://www.paypal.com/activity/api/payment/{{PAYMENT_ID}}",
6
+ "method": "GET",
7
+ "body": "",
8
+ "metadata": {
9
+ "platform": "paypal",
10
+ "urlRegex": "^https://www.paypal.com/unifiedtransactions/v1/transactions$",
11
+ "method": "POST",
12
+ "fallbackUrlRegex": "",
13
+ "fallbackMethod": "",
14
+ "preprocessRegex": "",
15
+ "transactionsExtraction": {
16
+ "transactionJsonPathListSelector": "$.transactions",
17
+ "transactionJsonPathSelectors": {
18
+ "recipient": "$.name",
19
+ "amount": "$.gross",
20
+ "date": "$.createTime",
21
+ "paymentId": "$.id",
22
+ "currency": "$.currency",
23
+ "type": "$.description"
24
+ }
25
+ },
26
+ "proofMetadataSelectors": [
27
+ {
28
+ "type": "jsonPath",
29
+ "value": "$.transactions[{{INDEX}}].id"
30
+ }
31
+ ]
32
+ },
33
+ "paramNames": [
34
+ "PAYMENT_ID"
35
+ ],
36
+ "paramSelectors": [
37
+ {
38
+ "type": "jsonPath",
39
+ "value": "$.transactions[{{INDEX}}].id"
40
+ }
41
+ ],
42
+ "skipRequestHeaders": [
43
+ "Cookie",
44
+ "Accept-Encoding"
45
+ ],
46
+ "secretHeaders": [
47
+ "Cookie"
48
+ ],
49
+ "responseMatches": [
50
+ {
51
+ "type": "regex",
52
+ "value": "(?<recvId>[^\"\\s]*@[^\"\\s]*)"
53
+ },
54
+ {
55
+ "type": "regex",
56
+ "value": "\"paymentType\":\"(?<isPersonal>[^\"]+)\""
57
+ },
58
+ {
59
+ "type": "regex",
60
+ "value": "\"grossAmt\":\"[^\"]*?(?<amt>[0-9][0-9,]*(?:\\.[0-9]+)?)"
61
+ },
62
+ {
63
+ "type": "regex",
64
+ "value": "\"grossAmt\":\"[^\"]*[0-9.]+[^A-Z]*(?<curr>[A-Z]+)"
65
+ },
66
+ {
67
+ "type": "regex",
68
+ "value": "\"paymentStatusActual\":\"(?<status>[^\"]+)"
69
+ },
70
+ {
71
+ "type": "regex",
72
+ "value": "\"date\"\\s*:\\s*\"(?<date>[^\"]+)\""
73
+ }
74
+ ],
75
+ "responseRedactions": [
76
+ {
77
+ "jsonPath": "$.data.data.data.NameEmailPaidBy.CounterPartyContactModelData.email",
78
+ "xPath": ""
79
+ },
80
+ {
81
+ "jsonPath": "$.data.data.data.TDHeader.grossAmt",
82
+ "xPath": ""
83
+ },
84
+ {
85
+ "jsonPath": "$.data.data.data.TDHeader.paymentStatusActual",
86
+ "xPath": ""
87
+ },
88
+ {
89
+ "jsonPath": "$.data.data.data.TDHeader.paymentType",
90
+ "xPath": ""
91
+ },
92
+ {
93
+ "jsonPath": "$.data.data.data.TDHeader.date",
94
+ "xPath": ""
95
+ }
96
+ ],
97
+ "mobile": {
98
+ "includeAdditionalCookieDomains": [],
99
+ "additionalClientOptions": {
100
+ "cipherSuites": [
101
+ "TLS_CHACHA20_POLY1305_SHA256",
102
+ "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
103
+ "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256"
104
+ ]
105
+ },
106
+ "userAgent": {
107
+ "android": "Mozilla/5.0 (Linux; Android 13; Pixel 6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.6367.207 Mobile Safari/537.36",
108
+ "ios": "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.4 Safari/605.1.15"
109
+ },
110
+ "useExternalAction": true,
111
+ "external": {
112
+ "actionLink": "paypal://",
113
+ "appStoreLink": "https://apps.apple.com/us/app/paypal-pay-send-save/id283646709",
114
+ "playStoreLink": "https://play.google.com/store/apps/details?id=com.paypal.android.p2pmobile&hl=en_US"
115
+ },
116
+ "login": {
117
+ "usernameSelector": "#email, input[name=\"login_email\"][type=\"email\"]",
118
+ "passwordSelector": "#password, input[name=\"login_password\"][type=\"password\"]",
119
+ "nextSelector": "#btnNext, button[name=\"btnNext\"][type=\"submit\"]",
120
+ "submitSelector": "#btnLogin, button[name=\"btnLogin\"], button.actionContinue[value=\"Login\"], button[value=\"Login\"][type=\"submit\"]",
121
+ "revealTimeoutMs": 5000
122
+ }
123
+ }
124
+ }
@@ -0,0 +1,138 @@
1
+ {
2
+ "actionType": "transfer_paypal",
3
+ "proofEngine": "reclaim",
4
+ "authLink": "https://www.paypal.com/myaccount/activities/",
5
+ "url": "https://www.paypal.com/myaccount/activities/details/inline/{{PAYMENT_ID}}",
6
+ "method": "GET",
7
+ "body": "",
8
+ "metadata": {
9
+ "metadataUrl": "https://www.paypal.com/myaccount/activities/filter/?q=ZnJlZV90ZXh0X3NlYXJjaD0mc3RhcnRfZGF0ZT0yMDI1LTAxLTAxJmVuZF9kYXRlPTIwMzAtMTItMzEmdHlwZT0mc3RhdHVzPSZjdXJyZW5jeT0mZmlsdGVyX2lkPSZpc3N1YW5jZV9wcm9kdWN0X25hbWU9JmFzc2V0X25hbWVzPSZhc3NldF9zeW1ib2xzPQ",
10
+ "metadataUrlMethod": "GET",
11
+ "metadataUrlBody": "",
12
+ "platform": "paypal",
13
+ "urlRegex": "https://www.paypal.com/myaccount/activities/extendSession",
14
+ "method": "GET",
15
+ "fallbackUrlRegex": "",
16
+ "fallbackMethod": "",
17
+ "preprocessRegex": "<pre[^>]*>([\\s\\S]*?)<\\/pre>",
18
+ "transactionsExtraction": {
19
+ "transactionJsonPathListSelector": "$.data.data.activity.transactions",
20
+ "transactionJsonPathSelectors": {
21
+ "recipient": "$.ftsSearchInfo.email",
22
+ "amount": "$.ftsSearchInfo.displayAmount",
23
+ "date": "$.date.rawDate.date",
24
+ "paymentId": "$.id",
25
+ "currency": "$.amounts.currencyCode",
26
+ "type": "$.type"
27
+ }
28
+ },
29
+ "proofMetadataSelectors": [
30
+ {
31
+ "type": "jsonPath",
32
+ "value": "$.data.data.activity.transactions[{{INDEX}}].id"
33
+ }
34
+ ]
35
+ },
36
+ "paramNames": [
37
+ "PAYMENT_ID"
38
+ ],
39
+ "paramSelectors": [
40
+ {
41
+ "type": "jsonPath",
42
+ "value": "$.data.data.activity.transactions[{{INDEX}}].id"
43
+ }
44
+ ],
45
+ "skipRequestHeaders": [
46
+ "Cookie",
47
+ "Accept-Encoding"
48
+ ],
49
+ "secretHeaders": [
50
+ "Cookie"
51
+ ],
52
+ "responseMatches": [
53
+ {
54
+ "type": "regex",
55
+ "value": "\"email\":\"(?<recvId>[^\"]+)\""
56
+ },
57
+ {
58
+ "type": "regex",
59
+ "value": "\"isPersonal\":(?<isPersonal>[true|false]+)"
60
+ },
61
+ {
62
+ "type": "regex",
63
+ "value": "\"value\":\"(?<amt>[^\"]+)\""
64
+ },
65
+ {
66
+ "type": "regex",
67
+ "value": "\"currencyCode\":\"(?<curr>[^\"]+)\""
68
+ },
69
+ {
70
+ "type": "regex",
71
+ "value": "\"status\":\"(?<status>[^\"]+)\""
72
+ },
73
+ {
74
+ "type": "regex",
75
+ "value": "\"primitiveTimeCreated\":\"(?<date>[^\"]+)\""
76
+ },
77
+ {
78
+ "type": "regex",
79
+ "value": "[\\s\\S]*?\"notesInfo\"\\s*:\\s*\\{[^}]*\"note\"\\s*:\\s*\"(?<note>[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*)\"|"
80
+ }
81
+ ],
82
+ "responseRedactions": [
83
+ {
84
+ "jsonPath": "$.data.p2pRedirect.repeatTxn.email",
85
+ "xPath": ""
86
+ },
87
+ {
88
+ "jsonPath": "$.data.p2pRedirect.repeatTxn.isPersonal",
89
+ "xPath": ""
90
+ },
91
+ {
92
+ "jsonPath": "$.data.amount.rawAmounts.gross.value",
93
+ "xPath": ""
94
+ },
95
+ {
96
+ "jsonPath": "$.data.amount.rawAmounts.gross.currencyCode",
97
+ "xPath": ""
98
+ },
99
+ {
100
+ "jsonPath": "$.data.status",
101
+ "xPath": ""
102
+ },
103
+ {
104
+ "jsonPath": "$.data.primitiveTimeCreated",
105
+ "xPath": ""
106
+ },
107
+ {
108
+ "regex": "\"notesInfo\"\\s*:\\s*\\{[^}]*\"note\"\\s*:\\s*\"(?<note>[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*)\"|\\}\\s*$"
109
+ }
110
+ ],
111
+ "mobile": {
112
+ "includeAdditionalCookieDomains": [],
113
+ "additionalClientOptions": {
114
+ "cipherSuites": [
115
+ "TLS_CHACHA20_POLY1305_SHA256",
116
+ "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
117
+ "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256"
118
+ ]
119
+ },
120
+ "userAgent": {
121
+ "android": "Mozilla/5.0 (Linux; Android 13; Pixel 6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.6367.207 Mobile Safari/537.36",
122
+ "ios": "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.4 Safari/605.1.15"
123
+ },
124
+ "useExternalAction": true,
125
+ "external": {
126
+ "actionLink": "paypal://",
127
+ "appStoreLink": "https://apps.apple.com/us/app/paypal-pay-send-save/id283646709",
128
+ "playStoreLink": "https://play.google.com/store/apps/details?id=com.paypal.android.p2pmobile&hl=en_US"
129
+ },
130
+ "login": {
131
+ "usernameSelector": "#email, input[name=\"login_email\"][type=\"email\"]",
132
+ "passwordSelector": "#password, input[name=\"login_password\"][type=\"password\"]",
133
+ "nextSelector": "#btnNext, button[name=\"btnNext\"][type=\"submit\"]",
134
+ "submitSelector": "#btnLogin, button[name=\"btnLogin\"], button.actionContinue[value=\"Login\"], button[value=\"Login\"][type=\"submit\"]",
135
+ "revealTimeoutMs": 5000
136
+ }
137
+ }
138
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "providers": [
3
+ { "id": "bankofamerica", "files": ["bankofamerica/transfer_zelle.json"] },
4
+ { "id": "cashapp", "files": ["cashapp/transfer_cashapp.json"] },
5
+ { "id": "chase", "files": ["chase/transfer_zelle.json"] },
6
+ { "id": "chime", "files": ["chime/transfer_chime.json"] },
7
+ { "id": "citi", "files": ["citi/transfer_zelle.json"] },
8
+ { "id": "idfc", "files": ["idfc/transfer_idfc.json"] },
9
+ { "id": "luxon", "files": ["luxon/transfer_luxon.json"] },
10
+ { "id": "mercadopago", "files": ["mercadopago/transfer_mercadopago.json"] },
11
+ { "id": "mercury", "files": ["mercury/mercury-wires.json"] },
12
+ { "id": "monzo", "files": ["monzo/transfer_monzo.json"] },
13
+ { "id": "paypal", "files": ["paypal/transfer_paypal.json", "paypal/register_paypal.json", "paypal/transfer_business_paypal.json"] },
14
+ { "id": "revolut", "files": ["revolut/transfer_revolut.json"] },
15
+ { "id": "royalbankcanada", "files": ["royalbankcanada/transfer_interac.json"] },
16
+ { "id": "usbank", "files": ["usbank/transfer_zelle.json"] },
17
+ { "id": "venmo", "files": ["venmo/transfer_venmo.json", "venmo/register_venmo.json"] },
18
+ { "id": "wise", "files": ["wise/transfer_wise.json", "wise/register_wise.json"] },
19
+ { "id": "n26", "files": ["n26/transfer_n26.json"] },
20
+ { "id": "alipay", "files": ["alipay/transfer_alipay.json", "alipay/register_alipay.json"] },
21
+ { "id": "td_bank", "files": ["td_bank/transfer_zelle.json"] }
22
+ ]
23
+ }
@@ -0,0 +1,138 @@
1
+ {
2
+ "actionType": "transfer_revolut",
3
+ "proofEngine": "reclaim",
4
+ "authLink": "https://app.revolut.com/home",
5
+ "url": "https://app.revolut.com/api/retail/user/current/transactions/last?count=20",
6
+ "method": "GET",
7
+ "body": "",
8
+ "metadata": {
9
+ "shouldReplayRequestInPage": true,
10
+ "metadataUrl": "https://app.revolut.com/api/retail/user/current/transactions/last?count=20",
11
+ "metadataUrlMethod": "GET",
12
+ "metadataUrlBody": "",
13
+ "platform": "revolut",
14
+ "urlRegex": "https://app.revolut.com/api/retail/user/current/transactions/last\\?count=20$",
15
+ "method": "GET",
16
+ "fallbackUrlRegex": "https://app.revolut.com/api/retail/user/current/transactions/last\\S+",
17
+ "fallbackMethod": "GET",
18
+ "preprocessRegex": "",
19
+ "transactionsExtraction": {
20
+ "transactionJsonPathListSelector": "$",
21
+ "transactionJsonPathSelectors": {
22
+ "recipient": "$.recipient.username",
23
+ "amount": "$.amount",
24
+ "date": "$.completedDate",
25
+ "paymentId": "$.id",
26
+ "currency": "$.currency"
27
+ }
28
+ },
29
+ "proofMetadataSelectors": [
30
+ {
31
+ "type": "jsonPath",
32
+ "value": "$.[{{INDEX}}].amount"
33
+ },
34
+ {
35
+ "type": "jsonPath",
36
+ "value": "$.[{{INDEX}}].currency"
37
+ },
38
+ {
39
+ "type": "jsonPath",
40
+ "value": "$.[{{INDEX}}].recipient.username"
41
+ },
42
+ {
43
+ "type": "jsonPath",
44
+ "value": "$.[{{INDEX}}].completedDate"
45
+ },
46
+ {
47
+ "type": "jsonPath",
48
+ "value": "$.[{{INDEX}}].state"
49
+ },
50
+ {
51
+ "type": "jsonPath",
52
+ "value": "$.[{{INDEX}}].id"
53
+ }
54
+ ]
55
+ },
56
+ "paramNames": [],
57
+ "paramSelectors": [],
58
+ "skipRequestHeaders": [
59
+ "x-device-id",
60
+ "Cookie"
61
+ ],
62
+ "secretHeaders": [
63
+ "x-device-id",
64
+ "Cookie"
65
+ ],
66
+ "responseMatches": [
67
+ {
68
+ "type": "regex",
69
+ "value": "\"amount\":(?<amount>[0-9\\-]+)"
70
+ },
71
+ {
72
+ "type": "regex",
73
+ "value": "\"completedDate\":(?<completedDate>[0-9]+)"
74
+ },
75
+ {
76
+ "type": "regex",
77
+ "value": "\"currency\":\"(?<currency>[^\"]+)\""
78
+ },
79
+ {
80
+ "type": "regex",
81
+ "value": "\"id\":\"(?<id>[^\"]+)\""
82
+ },
83
+ {
84
+ "type": "regex",
85
+ "value": "\"state\":\"(?<state>[^\"]+)\""
86
+ },
87
+ {
88
+ "type": "regex",
89
+ "value": "\"username\":\"(?<username>[^\"]+)\""
90
+ }
91
+ ],
92
+ "responseRedactions": [
93
+ {
94
+ "jsonPath": "$.[{{INDEX}}].amount",
95
+ "xPath": ""
96
+ },
97
+ {
98
+ "jsonPath": "$.[{{INDEX}}].completedDate",
99
+ "xPath": ""
100
+ },
101
+ {
102
+ "jsonPath": "$.[{{INDEX}}].currency",
103
+ "xPath": ""
104
+ },
105
+ {
106
+ "jsonPath": "$.[{{INDEX}}].id",
107
+ "xPath": ""
108
+ },
109
+ {
110
+ "jsonPath": "$.[{{INDEX}}].recipient.username",
111
+ "xPath": ""
112
+ },
113
+ {
114
+ "jsonPath": "$.[{{INDEX}}].state",
115
+ "xPath": ""
116
+ }
117
+ ],
118
+ "mobile": {
119
+ "includeAdditionalCookieDomains": [],
120
+ "additionalClientOptions": {
121
+ "cipherSuites": [
122
+ "TLS_CHACHA20_POLY1305_SHA256",
123
+ "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
124
+ "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256"
125
+ ]
126
+ },
127
+ "userAgent": {
128
+ "android": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Safari/605.1.15",
129
+ "ios": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Safari/605.1.15"
130
+ },
131
+ "useExternalAction": true,
132
+ "external": {
133
+ "actionLink": "https://revolut.me/{{RECIPIENT_ID}}",
134
+ "appStoreLink": "https://apps.apple.com/us/app/revolut/id370619147",
135
+ "playStoreLink": "https://play.google.com/store/apps/details?id=com.revolut.revolut"
136
+ }
137
+ }
138
+ }