@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.
- package/.claude/worktrees/paypal-note-optional-redaction/LICENSE +21 -0
- package/.claude/worktrees/paypal-note-optional-redaction/README.md +546 -0
- package/.claude/worktrees/paypal-note-optional-redaction/alipay/register_alipay.json +58 -0
- package/.claude/worktrees/paypal-note-optional-redaction/alipay/transfer_alipay.json +87 -0
- package/.claude/worktrees/paypal-note-optional-redaction/bankofamerica/transfer_zelle.json +126 -0
- package/.claude/worktrees/paypal-note-optional-redaction/cashapp/transfer_cashapp.json +147 -0
- package/.claude/worktrees/paypal-note-optional-redaction/chase/transfer_zelle.json +156 -0
- package/.claude/worktrees/paypal-note-optional-redaction/chime/transfer_chime.json +130 -0
- package/.claude/worktrees/paypal-note-optional-redaction/citi/transfer_zelle.json +126 -0
- package/.claude/worktrees/paypal-note-optional-redaction/idfc/transfer_idfc.json +109 -0
- package/.claude/worktrees/paypal-note-optional-redaction/luxon/transfer_luxon.json +119 -0
- package/.claude/worktrees/paypal-note-optional-redaction/mercadopago/transfer_mercadopago.json +129 -0
- package/.claude/worktrees/paypal-note-optional-redaction/monzo/transfer_monzo.json +130 -0
- package/.claude/worktrees/paypal-note-optional-redaction/n26/transfer_n26.json +130 -0
- package/.claude/worktrees/paypal-note-optional-redaction/package.json +22 -0
- package/.claude/worktrees/paypal-note-optional-redaction/paypal/register_paypal.json +89 -0
- package/.claude/worktrees/paypal-note-optional-redaction/paypal/transfer_business_paypal.json +124 -0
- package/.claude/worktrees/paypal-note-optional-redaction/paypal/transfer_paypal.json +138 -0
- package/.claude/worktrees/paypal-note-optional-redaction/providers.json +23 -0
- package/.claude/worktrees/paypal-note-optional-redaction/revolut/transfer_revolut.json +138 -0
- package/.claude/worktrees/paypal-note-optional-redaction/royalbankcanada/transfer_interac.json +89 -0
- package/.claude/worktrees/paypal-note-optional-redaction/td_bank/transfer_zelle.json +112 -0
- package/.claude/worktrees/paypal-note-optional-redaction/usbank/transfer_zelle.json +127 -0
- package/.claude/worktrees/paypal-note-optional-redaction/venmo/register_venmo.json +77 -0
- package/.claude/worktrees/paypal-note-optional-redaction/venmo/transfer_venmo.json +120 -0
- package/.claude/worktrees/paypal-note-optional-redaction/wellsfargo/transfer_zelle.json +137 -0
- package/.claude/worktrees/paypal-note-optional-redaction/wise/register_wise.json +81 -0
- package/.claude/worktrees/paypal-note-optional-redaction/wise/transfer_wise.json +157 -0
- package/package.json +1 -1
- 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
|
+
}
|