@zkp2p/providers 1.0.0
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/LICENSE +21 -0
- package/README.md +546 -0
- package/bankofamerica/transfer_zelle.json +113 -0
- package/cashapp/transfer_cashapp.json +136 -0
- package/chase/transfer_zelle.json +148 -0
- package/citi/transfer_zelle.json +117 -0
- package/idfc/transfer_idfc.json +109 -0
- package/luxon/transfer_luxon.json +118 -0
- package/mercadopago/transfer_mercado_pago.json +121 -0
- package/mercadopago/transfer_mercadopago.json +121 -0
- package/monzo/transfer_monzo.json +110 -0
- package/package.json +22 -0
- package/paypal/transfer_paypal.json +101 -0
- package/providers.json +22 -0
- package/revolut/transfer_revolut.json +126 -0
- package/royalbankcanada/transfer_interac.json +89 -0
- package/usbank/transfer_zelle.json +126 -0
- package/venmo/transfer_venmo.json +110 -0
- package/wise/transfer_wise.json +133 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
{
|
|
2
|
+
"actionType": "transfer_mercado_pago",
|
|
3
|
+
"authLink": "https://www.mercadopago.com.ar/home",
|
|
4
|
+
"url": "https://www.mercadopago.com.ar/activities/detail/{{PAYMENT_ID}}?from={{URL_PARAMS_FROM}}",
|
|
5
|
+
"method": "GET",
|
|
6
|
+
"body": "",
|
|
7
|
+
"metadata": {
|
|
8
|
+
"platform": "mercadopago",
|
|
9
|
+
"urlRegex": "https://www.mercadopago.com.ar/home",
|
|
10
|
+
"method": "GET",
|
|
11
|
+
"fallbackUrlRegex": "",
|
|
12
|
+
"fallbackMethod": "",
|
|
13
|
+
"preprocessRegex": "<script\\s+[^>]*id=[\"']__PRELOADED_STATE__[\"'][^>]*>([\\s\\S]*?)</script>",
|
|
14
|
+
"transactionsExtraction": {
|
|
15
|
+
"transactionJsonPathListSelector": "$.pageState.mpHome.result.sections.activities.content.activities_container.results",
|
|
16
|
+
"transactionJsonPathSelectors": {
|
|
17
|
+
"recipient": "$.title",
|
|
18
|
+
"amount": "$.amount.fraction",
|
|
19
|
+
"date": "$.creationDate",
|
|
20
|
+
"paymentId": "$.id",
|
|
21
|
+
"currency": "$.amount.currency_id"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"proofMetadataSelectors": [
|
|
25
|
+
{
|
|
26
|
+
"type": "jsonPath",
|
|
27
|
+
"value": "$.pageState.mpHome.result.sections.activities.content.activities_container.results[{{INDEX}}].title"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"type": "jsonPath",
|
|
31
|
+
"value": "$.pageState.mpHome.result.sections.activities.content.activities_container.results[{{INDEX}}].amount.fraction"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"type": "jsonPath",
|
|
35
|
+
"value": "$.pageState.mpHome.result.sections.activities.content.activities_container.results[{{INDEX}}].id"
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"paramNames": [
|
|
40
|
+
"PAYMENT_ID",
|
|
41
|
+
"URL_PARAMS_FROM"
|
|
42
|
+
],
|
|
43
|
+
"paramSelectors": [
|
|
44
|
+
{
|
|
45
|
+
"type": "jsonPath",
|
|
46
|
+
"value": "$.pageState.mpHome.result.sections.activities.content.activities_container.results[{{INDEX}}].id"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"type": "regex",
|
|
50
|
+
"value": "(mp-home)"
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"skipRequestHeaders": [
|
|
54
|
+
"Cookie",
|
|
55
|
+
"Accept-Encoding"
|
|
56
|
+
],
|
|
57
|
+
"secretHeaders": [
|
|
58
|
+
"Cookie"
|
|
59
|
+
],
|
|
60
|
+
"responseMatches": [
|
|
61
|
+
{
|
|
62
|
+
"type": "regex",
|
|
63
|
+
"value": "v2__detail\">(.*?)CVU: (?<recipientId>[0-9]+)</li>",
|
|
64
|
+
"hash": true
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"type": "regex",
|
|
68
|
+
"value": "<span class=\"andes-money-amount__fraction\" aria-hidden=\"true\">(?<amt>[0-9.]+)</span><span aria-hidden=\"true\">,</span><span class=\"andes-money-amount__cents\" aria-hidden=\"true\">(?<cents>[0-9]+)</span>"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"type": "regex",
|
|
72
|
+
"value": "Total\",\"amount\":{\"currency_id\":\"(?<curr>[^\"]+)\""
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"type": "regex",
|
|
76
|
+
"value": ",\"date\":\"(?<date>[^\"]+)\",\"sections\""
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"type": "regex",
|
|
80
|
+
"value": "\"operationId\":(?<paymentId>[^,]+),\"activityName\":\"(?<paymentType>[^\"]+)\",\"activityStatus\":\"(?<paymentStatus>[^\"]+)\","
|
|
81
|
+
}
|
|
82
|
+
],
|
|
83
|
+
"responseRedactions": [
|
|
84
|
+
{
|
|
85
|
+
"jsonPath": "",
|
|
86
|
+
"xPath": "",
|
|
87
|
+
"regex": "v2__detail\">(.*?)CVU: (.*?)</li>"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"jsonPath": "",
|
|
91
|
+
"xPath": "",
|
|
92
|
+
"regex": "<span class=\"andes-money-amount__fraction\" aria-hidden=\"true\">(.*?)<\/span><span aria-hidden=\"true\">,<\/span><span class=\"andes-money-amount__cents\" aria-hidden=\"true\">(.*?)<\/span>"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"jsonPath": "",
|
|
96
|
+
"xPath": "",
|
|
97
|
+
"regex": "\"Total\",\"amount\":{\"currency_id\":\"(.*?)\""
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"jsonPath": "",
|
|
101
|
+
"xPath": "",
|
|
102
|
+
"regex": ",\"date\":\"(.*)\",\"sections\""
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"jsonPath": "",
|
|
106
|
+
"xPath": "",
|
|
107
|
+
"regex": "\"operationId\":(.*?),\"activityName\":\"(.*?)\",\"activityStatus\":\"(.*?),"
|
|
108
|
+
}
|
|
109
|
+
],
|
|
110
|
+
"mobile": {
|
|
111
|
+
"includeAdditionalCookieDomains": [
|
|
112
|
+
"mercadolibre.com",
|
|
113
|
+
"www.mercadolibre.com"
|
|
114
|
+
],
|
|
115
|
+
"internal": {
|
|
116
|
+
"actionLink": "https://www.mercadopago.com.ar/money-out/transfer/",
|
|
117
|
+
"actionCompletedUrlRegex": "https://www.mercadopago.com.ar/money-out/transfer/congrats\\?data=\\S+",
|
|
118
|
+
"injectedJavaScript": "(function(){const style=document.createElement('style');style.textContent='.zkp2p-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:24px;height:24px;background:#007AFF;border-radius:4px;cursor:pointer;z-index:9999;display:flex;align-items:center;justify-content:center;color:white;font-weight:bold;font-size:12px;}.zkp2p-dropdown{position:absolute;background:#FFF;border:1px solid #E0E0E0;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,0.15);z-index:99999;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif;font-size:14px;color:#333;width:auto;min-width:250px;}.zkp2p-dropdown-item{padding:12px 16px;cursor:pointer;}.zkp2p-dropdown-item:hover{background:#F5F5F5;}.zkp2p-dropdown-item:active{background:#E8E8E8;}.zkp2p-dropdown-label{color:#666;font-size:12px;margin-bottom:4px;}.zkp2p-dropdown-value{font-weight:500;color:#333;font-size:16px;}.zkp2p-toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#333;color:white;padding:10px 20px;border-radius:6px;z-index:999999;font-family:system-ui;}';document.head.appendChild(style);const copyToClipboard=function(text){const textArea=document.createElement('textarea');textArea.value=text;textArea.style.position='fixed';textArea.style.top='-9999px';document.body.appendChild(textArea);textArea.select();textArea.setSelectionRange(0,99999);document.execCommand('copy');document.body.removeChild(textArea);const toast=document.createElement('div');toast.className='zkp2p-toast';toast.textContent='Copied!';document.body.appendChild(toast);setTimeout(()=>toast.remove(),2000);};const createDropdown=function(input,label,value){const rect=input.getBoundingClientRect();const dropdown=document.createElement('div');dropdown.className='zkp2p-dropdown';dropdown.id='zkp2p-dropdown-'+Date.now();dropdown.style.position='absolute';dropdown.style.top=(rect.bottom+window.scrollY+4)+'px';dropdown.style.left=rect.left+'px';dropdown.style.display='block';const item=document.createElement('div');item.className='zkp2p-dropdown-item';item.innerHTML='<div class=\"zkp2p-dropdown-label\">'+label+'</div><div class=\"zkp2p-dropdown-value\">'+value+'</div>';item.addEventListener('click',function(){copyToClipboard(value);dropdown.remove();});dropdown.appendChild(item);document.body.appendChild(dropdown);setTimeout(()=>{document.addEventListener('click',function hideDropdown(e){if(!dropdown.contains(e.target)&&e.target!==input&&!e.target.classList.contains('zkp2p-icon')){dropdown.remove();document.removeEventListener('click',hideDropdown);}});},100);};const addIcon=function(input,label,value){const container=input.closest('.andes-amount-field__input-container')||input.parentElement;container.style.position='relative';const icon=document.createElement('div');icon.className='zkp2p-icon';icon.textContent='Z';icon.addEventListener('click',function(e){e.stopPropagation();const existing=document.querySelector('.zkp2p-dropdown');if(existing)existing.remove();createDropdown(input,label,value);});container.appendChild(icon);createDropdown(input,label,value);};const setupFields=function(){const cvuInput=document.querySelector('input[name=\"identification_account\"]');if(cvuInput&&!cvuInput.hasAttribute('data-zkp2p')){cvuInput.setAttribute('data-zkp2p','true');addIcon(cvuInput,'CVU for ZKP2P:','{{RECIPIENT_ID}}');}const amountInput=document.querySelector('#amount-field-input');if(amountInput&&!amountInput.hasAttribute('data-zkp2p')){amountInput.setAttribute('data-zkp2p','true');addIcon(amountInput,'Amount for ZKP2P:','{{AMOUNT}}');}};setTimeout(setupFields,1500);const observer=new MutationObserver(setupFields);observer.observe(document.body,{childList:true,subtree:true});})();"
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
{
|
|
2
|
+
"actionType": "transfer_mercado_pago",
|
|
3
|
+
"authLink": "https://www.mercadopago.com.ar/home",
|
|
4
|
+
"url": "https://www.mercadopago.com.ar/activities/detail/{{PAYMENT_ID}}?from={{URL_PARAMS_FROM}}",
|
|
5
|
+
"method": "GET",
|
|
6
|
+
"body": "",
|
|
7
|
+
"metadata": {
|
|
8
|
+
"platform": "mercadopago",
|
|
9
|
+
"urlRegex": "https://www.mercadopago.com.ar/home",
|
|
10
|
+
"method": "GET",
|
|
11
|
+
"fallbackUrlRegex": "",
|
|
12
|
+
"fallbackMethod": "",
|
|
13
|
+
"preprocessRegex": "<script\\s+[^>]*id=[\"']__PRELOADED_STATE__[\"'][^>]*>([\\s\\S]*?)</script>",
|
|
14
|
+
"transactionsExtraction": {
|
|
15
|
+
"transactionJsonPathListSelector": "$.pageState.mpHome.result.sections.activities.content.activities_container.results",
|
|
16
|
+
"transactionJsonPathSelectors": {
|
|
17
|
+
"recipient": "$.title",
|
|
18
|
+
"amount": "$.amount.fraction",
|
|
19
|
+
"date": "$.creationDate",
|
|
20
|
+
"paymentId": "$.id",
|
|
21
|
+
"currency": "$.amount.currency_id"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"proofMetadataSelectors": [
|
|
25
|
+
{
|
|
26
|
+
"type": "jsonPath",
|
|
27
|
+
"value": "$.pageState.mpHome.result.sections.activities.content.activities_container.results[{{INDEX}}].title"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"type": "jsonPath",
|
|
31
|
+
"value": "$.pageState.mpHome.result.sections.activities.content.activities_container.results[{{INDEX}}].amount.fraction"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"type": "jsonPath",
|
|
35
|
+
"value": "$.pageState.mpHome.result.sections.activities.content.activities_container.results[{{INDEX}}].id"
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"paramNames": [
|
|
40
|
+
"PAYMENT_ID",
|
|
41
|
+
"URL_PARAMS_FROM"
|
|
42
|
+
],
|
|
43
|
+
"paramSelectors": [
|
|
44
|
+
{
|
|
45
|
+
"type": "jsonPath",
|
|
46
|
+
"value": "$.pageState.mpHome.result.sections.activities.content.activities_container.results[{{INDEX}}].id"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"type": "regex",
|
|
50
|
+
"value": "(mp-home)"
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"skipRequestHeaders": [
|
|
54
|
+
"Cookie",
|
|
55
|
+
"Accept-Encoding"
|
|
56
|
+
],
|
|
57
|
+
"secretHeaders": [
|
|
58
|
+
"Cookie"
|
|
59
|
+
],
|
|
60
|
+
"responseMatches": [
|
|
61
|
+
{
|
|
62
|
+
"type": "regex",
|
|
63
|
+
"value": "v2__detail\">(.*?)CVU: (?<recipientId>[0-9]+)</li>",
|
|
64
|
+
"hash": true
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"type": "regex",
|
|
68
|
+
"value": "<span class=\"andes-money-amount__fraction\" aria-hidden=\"true\">(?<amt>[0-9.]+)</span><span aria-hidden=\"true\">,</span><span class=\"andes-money-amount__cents\" aria-hidden=\"true\">(?<cents>[0-9]+)</span>"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"type": "regex",
|
|
72
|
+
"value": "Total\",\"amount\":{\"currency_id\":\"(?<curr>[^\"]+)\""
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"type": "regex",
|
|
76
|
+
"value": ",\"date\":\"(?<date>[^\"]+)\",\"sections\""
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"type": "regex",
|
|
80
|
+
"value": "\"operationId\":(?<paymentId>[^,]+),\"activityName\":\"(?<paymentType>[^\"]+)\",\"activityStatus\":\"(?<paymentStatus>[^\"]+)\","
|
|
81
|
+
}
|
|
82
|
+
],
|
|
83
|
+
"responseRedactions": [
|
|
84
|
+
{
|
|
85
|
+
"jsonPath": "",
|
|
86
|
+
"xPath": "",
|
|
87
|
+
"regex": "v2__detail\">(.*?)CVU: (.*?)</li>"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"jsonPath": "",
|
|
91
|
+
"xPath": "",
|
|
92
|
+
"regex": "<span class=\"andes-money-amount__fraction\" aria-hidden=\"true\">(.*?)<\/span><span aria-hidden=\"true\">,<\/span><span class=\"andes-money-amount__cents\" aria-hidden=\"true\">(.*?)<\/span>"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"jsonPath": "",
|
|
96
|
+
"xPath": "",
|
|
97
|
+
"regex": "\"Total\",\"amount\":{\"currency_id\":\"(.*?)\""
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"jsonPath": "",
|
|
101
|
+
"xPath": "",
|
|
102
|
+
"regex": ",\"date\":\"(.*)\",\"sections\""
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"jsonPath": "",
|
|
106
|
+
"xPath": "",
|
|
107
|
+
"regex": "\"operationId\":(.*?),\"activityName\":\"(.*?)\",\"activityStatus\":\"(.*?),"
|
|
108
|
+
}
|
|
109
|
+
],
|
|
110
|
+
"mobile": {
|
|
111
|
+
"includeAdditionalCookieDomains": [
|
|
112
|
+
"mercadolibre.com",
|
|
113
|
+
"www.mercadolibre.com"
|
|
114
|
+
],
|
|
115
|
+
"internal": {
|
|
116
|
+
"actionLink": "https://www.mercadopago.com.ar/money-out/transfer/",
|
|
117
|
+
"actionCompletedUrlRegex": "https://www.mercadopago.com.ar/money-out/transfer/congrats\\?data=\\S+",
|
|
118
|
+
"injectedJavaScript": "(function(){const style=document.createElement('style');style.textContent='.zkp2p-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:24px;height:24px;background:#007AFF;border-radius:4px;cursor:pointer;z-index:9999;display:flex;align-items:center;justify-content:center;color:white;font-weight:bold;font-size:12px;}.zkp2p-dropdown{position:absolute;background:#FFF;border:1px solid #E0E0E0;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,0.15);z-index:99999;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif;font-size:14px;color:#333;width:auto;min-width:250px;}.zkp2p-dropdown-item{padding:12px 16px;cursor:pointer;}.zkp2p-dropdown-item:hover{background:#F5F5F5;}.zkp2p-dropdown-item:active{background:#E8E8E8;}.zkp2p-dropdown-label{color:#666;font-size:12px;margin-bottom:4px;}.zkp2p-dropdown-value{font-weight:500;color:#333;font-size:16px;}.zkp2p-toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#333;color:white;padding:10px 20px;border-radius:6px;z-index:999999;font-family:system-ui;}';document.head.appendChild(style);const copyToClipboard=function(text){const textArea=document.createElement('textarea');textArea.value=text;textArea.style.position='fixed';textArea.style.top='-9999px';document.body.appendChild(textArea);textArea.select();textArea.setSelectionRange(0,99999);document.execCommand('copy');document.body.removeChild(textArea);const toast=document.createElement('div');toast.className='zkp2p-toast';toast.textContent='Copied!';document.body.appendChild(toast);setTimeout(()=>toast.remove(),2000);};const createDropdown=function(input,label,value){const rect=input.getBoundingClientRect();const dropdown=document.createElement('div');dropdown.className='zkp2p-dropdown';dropdown.id='zkp2p-dropdown-'+Date.now();dropdown.style.position='absolute';dropdown.style.top=(rect.bottom+window.scrollY+4)+'px';dropdown.style.left=rect.left+'px';dropdown.style.display='block';const item=document.createElement('div');item.className='zkp2p-dropdown-item';item.innerHTML='<div class=\"zkp2p-dropdown-label\">'+label+'</div><div class=\"zkp2p-dropdown-value\">'+value+'</div>';item.addEventListener('click',function(){copyToClipboard(value);dropdown.remove();});dropdown.appendChild(item);document.body.appendChild(dropdown);setTimeout(()=>{document.addEventListener('click',function hideDropdown(e){if(!dropdown.contains(e.target)&&e.target!==input&&!e.target.classList.contains('zkp2p-icon')){dropdown.remove();document.removeEventListener('click',hideDropdown);}});},100);};const addIcon=function(input,label,value){const container=input.closest('.andes-amount-field__input-container')||input.parentElement;container.style.position='relative';const icon=document.createElement('div');icon.className='zkp2p-icon';icon.textContent='Z';icon.addEventListener('click',function(e){e.stopPropagation();const existing=document.querySelector('.zkp2p-dropdown');if(existing)existing.remove();createDropdown(input,label,value);});container.appendChild(icon);createDropdown(input,label,value);};const setupFields=function(){const cvuInput=document.querySelector('input[name=\"identification_account\"]');if(cvuInput&&!cvuInput.hasAttribute('data-zkp2p')){cvuInput.setAttribute('data-zkp2p','true');addIcon(cvuInput,'CVU for ZKP2P:','{{RECIPIENT_ID}}');}const amountInput=document.querySelector('#amount-field-input');if(amountInput&&!amountInput.hasAttribute('data-zkp2p')){amountInput.setAttribute('data-zkp2p','true');addIcon(amountInput,'Amount for ZKP2P:','{{AMOUNT}}');}};setTimeout(setupFields,1500);const observer=new MutationObserver(setupFields);observer.observe(document.body,{childList:true,subtree:true});})();"
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
{
|
|
2
|
+
"actionType": "transfer_monzo",
|
|
3
|
+
"authLink": "https://web.monzo.com/",
|
|
4
|
+
"url": "https://api.monzo.com/transactions/{{TX_ID}}",
|
|
5
|
+
"method": "GET",
|
|
6
|
+
"body": "",
|
|
7
|
+
"metadata": {
|
|
8
|
+
"platform": "monzo",
|
|
9
|
+
"urlRegex": "https://internal-api.monzo.com/minimal-banking/transactions\\?account_id=\\S+&limit=50",
|
|
10
|
+
"method": "GET",
|
|
11
|
+
"fallbackUrlRegex": "",
|
|
12
|
+
"fallbackMethod": "",
|
|
13
|
+
"preprocessRegex": "",
|
|
14
|
+
"transactionsExtraction": {
|
|
15
|
+
"transactionJsonPathListSelector": "$.transactions",
|
|
16
|
+
"transactionJsonPathSelectors": {
|
|
17
|
+
"recipient": "$.counterparty.user_id",
|
|
18
|
+
"recipientName": "$.counterparty.name",
|
|
19
|
+
"amount": "$.amount",
|
|
20
|
+
"date": "$.settled",
|
|
21
|
+
"paymentId": "$.id",
|
|
22
|
+
"currency": "$.currency"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"proofMetadataSelectors": [
|
|
26
|
+
{
|
|
27
|
+
"type": "jsonPath",
|
|
28
|
+
"value": "$.transactions[{{INDEX}}].amount"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"type": "jsonPath",
|
|
32
|
+
"value": "$.transactions[{{INDEX}}].id"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"type": "jsonPath",
|
|
36
|
+
"value": "$.transactions[{{INDEX}}].counterparty.user_id"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"type": "jsonPath",
|
|
40
|
+
"value": "$.transactions[{{INDEX}}].settled"
|
|
41
|
+
}
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
"paramNames": [
|
|
45
|
+
"TX_ID"
|
|
46
|
+
],
|
|
47
|
+
"paramSelectors": [
|
|
48
|
+
{
|
|
49
|
+
"type": "jsonPath",
|
|
50
|
+
"value": "$.transactions[{{INDEX}}].id"
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"skipRequestHeaders": [],
|
|
54
|
+
"secretHeaders": [
|
|
55
|
+
"authorization"
|
|
56
|
+
],
|
|
57
|
+
"responseMatches": [
|
|
58
|
+
{
|
|
59
|
+
"type": "regex",
|
|
60
|
+
"value": "\"amount\":(?<amount>[0-9\\-]+)"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"type": "regex",
|
|
64
|
+
"value": "\"settled\":\"(?<completedDate>[^\"]+)\""
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"type": "regex",
|
|
68
|
+
"value": "\"user_id\":\"(?<userId>[^\"]+)\"",
|
|
69
|
+
"hash": true
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"type": "regex",
|
|
73
|
+
"value": "\"scheme\":\"p2p_payment\""
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"type": "regex",
|
|
77
|
+
"value": "\"currency\":\"(?<currency>[^\"]+)\""
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"type": "regex",
|
|
81
|
+
"value": "\"hold_decision_status\":\"decision_status\\.released\""
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
"responseRedactions": [
|
|
85
|
+
{
|
|
86
|
+
"jsonPath": "$.transaction.amount",
|
|
87
|
+
"xPath": ""
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"jsonPath": "$.transaction.settled",
|
|
91
|
+
"xPath": ""
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"jsonPath": "$.transaction.counterparty.user_id",
|
|
95
|
+
"xPath": ""
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"jsonPath": "$.transaction.scheme",
|
|
99
|
+
"xPath": ""
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"jsonPath": "$.transaction.currency",
|
|
103
|
+
"xPath": ""
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"jsonPath": "$.transaction.metadata.hold_decision_status",
|
|
107
|
+
"xPath": ""
|
|
108
|
+
}
|
|
109
|
+
]
|
|
110
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@zkp2p/providers",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Provider JSON templates for ZKP2P (data-only)",
|
|
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,101 @@
|
|
|
1
|
+
{
|
|
2
|
+
"actionType": "transfer_paypal",
|
|
3
|
+
"authLink": "https://www.paypal.com/myaccount/activities/filter/?q=ZnJlZV90ZXh0X3NlYXJjaD0mc3RhcnRfZGF0ZT0yMDI1LTAxLTAxJmVuZF9kYXRlPTIwMzAtMTItMzEmdHlwZT0mc3RhdHVzPSZjdXJyZW5jeT0mZmlsdGVyX2lkPSZpc3N1YW5jZV9wcm9kdWN0X25hbWU9JmFzc2V0X25hbWVzPSZhc3NldF9zeW1ib2xzPQ",
|
|
4
|
+
"url": "https://www.paypal.com/myaccount/activities/details/inline/{{PAYMENT_ID}}",
|
|
5
|
+
"method": "GET",
|
|
6
|
+
"body": "",
|
|
7
|
+
"metadata": {
|
|
8
|
+
"platform": "paypal",
|
|
9
|
+
"urlRegex": "https://www.paypal.com/myaccount/activities/filter/\\?q=ZnJlZV90ZXh0X3NlYXJjaD0mc3RhcnRfZGF0ZT0yMDI1LTAxLTAxJmVuZF9kYXRlPTIwMzAtMTItMzEmdHlwZT0mc3RhdHVzPSZjdXJyZW5jeT0mZmlsdGVyX2lkPSZpc3N1YW5jZV9wcm9kdWN0X25hbWU9JmFzc2V0X25hbWVzPSZhc3NldF9zeW1ib2xzPQ",
|
|
10
|
+
"method": "GET",
|
|
11
|
+
"fallbackUrlRegex": "",
|
|
12
|
+
"fallbackMethod": "",
|
|
13
|
+
"preprocessRegex": "",
|
|
14
|
+
"transactionsExtraction": {
|
|
15
|
+
"transactionJsonPathListSelector": "$.data.data.activity.transactions",
|
|
16
|
+
"transactionJsonPathSelectors": {
|
|
17
|
+
"recipient": "$.ftsSearchInfo.email",
|
|
18
|
+
"amount": "$.ftsSearchInfo.displayAmount",
|
|
19
|
+
"date": "$.date.rawDate.date",
|
|
20
|
+
"paymentId": "$.id",
|
|
21
|
+
"currency": "$.amounts.currencyCode",
|
|
22
|
+
"type": "$.type"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"proofMetadataSelectors": [
|
|
26
|
+
{
|
|
27
|
+
"type": "jsonPath",
|
|
28
|
+
"value": "$.data.data.activity.transactions[{{INDEX}}].id"
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
"paramNames": [
|
|
33
|
+
"PAYMENT_ID"
|
|
34
|
+
],
|
|
35
|
+
"paramSelectors": [
|
|
36
|
+
{
|
|
37
|
+
"type": "jsonPath",
|
|
38
|
+
"value": "$.data.data.activity.transactions[{{INDEX}}].id"
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
"skipRequestHeaders": [
|
|
42
|
+
"Cookie",
|
|
43
|
+
"Accept-Encoding"
|
|
44
|
+
],
|
|
45
|
+
"secretHeaders": [
|
|
46
|
+
"Cookie"
|
|
47
|
+
],
|
|
48
|
+
"responseMatches": [
|
|
49
|
+
{
|
|
50
|
+
"type": "regex",
|
|
51
|
+
"value": "\"email\":\"(?<recvId>[^\"]+)\"",
|
|
52
|
+
"hash": true
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"type": "regex",
|
|
56
|
+
"value": "\"isPersonal\":true"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"type": "regex",
|
|
60
|
+
"value": "\"value\":\"(?<amt>[^\"]+)\""
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"type": "regex",
|
|
64
|
+
"value": "\"currencyCode\":\"(?<curr>[^\"]+)\""
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"type": "regex",
|
|
68
|
+
"value": "\"status\":\"(?<status>[^\"]+)\""
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"type": "regex",
|
|
72
|
+
"value": "\"primitiveTimeCreated\":\"(?<date>[^\"]+)\""
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"responseRedactions": [
|
|
76
|
+
{
|
|
77
|
+
"jsonPath": "$.data.p2pRedirect.repeatTxn.email",
|
|
78
|
+
"xPath": ""
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"jsonPath": "$.data.p2pRedirect.repeatTxn.isPersonal",
|
|
82
|
+
"xPath": ""
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"jsonPath": "$.data.amount.rawAmounts.gross.value",
|
|
86
|
+
"xPath": ""
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"jsonPath": "$.data.amount.rawAmounts.gross.currencyCode",
|
|
90
|
+
"xPath": ""
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"jsonPath": "$.data.status",
|
|
94
|
+
"xPath": ""
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"jsonPath": "$.data.primitiveTimeCreated",
|
|
98
|
+
"xPath": ""
|
|
99
|
+
}
|
|
100
|
+
]
|
|
101
|
+
}
|
package/providers.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
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": "citi", "files": ["citi/transfer_zelle.json"] },
|
|
7
|
+
{ "id": "idfc", "files": ["idfc/transfer_idfc.json"] },
|
|
8
|
+
{ "id": "luxon", "files": ["luxon/transfer_luxon.json"] },
|
|
9
|
+
{ "id": "mercadopago", "files": [
|
|
10
|
+
"mercadopago/transfer_mercado_pago.json",
|
|
11
|
+
"mercadopago/transfer_mercadopago.json"
|
|
12
|
+
] },
|
|
13
|
+
{ "id": "monzo", "files": ["monzo/transfer_monzo.json"] },
|
|
14
|
+
{ "id": "paypal", "files": ["paypal/transfer_paypal.json"] },
|
|
15
|
+
{ "id": "revolut", "files": ["revolut/transfer_revolut.json"] },
|
|
16
|
+
{ "id": "royalbankcanada", "files": ["royalbankcanada/transfer_interac.json"] },
|
|
17
|
+
{ "id": "usbank", "files": ["usbank/transfer_zelle.json"] },
|
|
18
|
+
{ "id": "venmo", "files": ["venmo/transfer_venmo.json"] },
|
|
19
|
+
{ "id": "wise", "files": ["wise/transfer_wise.json"] }
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
{
|
|
2
|
+
"actionType": "transfer_revolut",
|
|
3
|
+
"authLink": "https://app.revolut.com/home",
|
|
4
|
+
"url": "https://app.revolut.com/api/retail/user/current/transactions/last?count=20",
|
|
5
|
+
"method": "GET",
|
|
6
|
+
"body": "",
|
|
7
|
+
"metadata": {
|
|
8
|
+
"metadataUrl": "https://app.revolut.com/api/retail/user/current/transactions/last?count=20",
|
|
9
|
+
"metadataUrlMethod": "GET",
|
|
10
|
+
"metadataUrlBody": "",
|
|
11
|
+
"platform": "revolut",
|
|
12
|
+
"urlRegex": "https://app.revolut.com/api/retail/user/current/transactions/last\\?count=20$",
|
|
13
|
+
"method": "GET",
|
|
14
|
+
"fallbackUrlRegex": "https://app.revolut.com/api/retail/user/current/transactions/last\\?count=20&\\S+",
|
|
15
|
+
"fallbackMethod": "GET",
|
|
16
|
+
"preprocessRegex": "",
|
|
17
|
+
"transactionsExtraction": {
|
|
18
|
+
"transactionJsonPathListSelector": "$",
|
|
19
|
+
"transactionJsonPathSelectors": {
|
|
20
|
+
"recipient": "$.recipient.username",
|
|
21
|
+
"amount": "$.amount",
|
|
22
|
+
"date": "$.completedDate",
|
|
23
|
+
"paymentId": "$.id",
|
|
24
|
+
"currency": "$.currency"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"proofMetadataSelectors": [
|
|
28
|
+
{
|
|
29
|
+
"type": "jsonPath",
|
|
30
|
+
"value": "$.[{{INDEX}}].amount"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"type": "jsonPath",
|
|
34
|
+
"value": "$.[{{INDEX}}].currency"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"type": "jsonPath",
|
|
38
|
+
"value": "$.[{{INDEX}}].recipient.username"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"type": "jsonPath",
|
|
42
|
+
"value": "$.[{{INDEX}}].completedDate"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"type": "jsonPath",
|
|
46
|
+
"value": "$.[{{INDEX}}].state"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"type": "jsonPath",
|
|
50
|
+
"value": "$.[{{INDEX}}].id"
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
"paramNames": [],
|
|
55
|
+
"paramSelectors": [],
|
|
56
|
+
"skipRequestHeaders": [
|
|
57
|
+
"x-device-id",
|
|
58
|
+
"Cookie"
|
|
59
|
+
],
|
|
60
|
+
"secretHeaders": [
|
|
61
|
+
"x-device-id",
|
|
62
|
+
"Cookie"
|
|
63
|
+
],
|
|
64
|
+
"responseMatches": [
|
|
65
|
+
{
|
|
66
|
+
"type": "regex",
|
|
67
|
+
"value": "\"amount\":(?<amount>[0-9\\-]+)"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"type": "regex",
|
|
71
|
+
"value": "\"completedDate\":(?<completedDate>[0-9]+)"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"type": "regex",
|
|
75
|
+
"value": "\"currency\":\"(?<currency>[^\"]+)\""
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"type": "regex",
|
|
79
|
+
"value": "\"id\":\"(?<id>[^\"]+)\""
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"type": "regex",
|
|
83
|
+
"value": "\"state\":\"(?<state>[^\"]+)\""
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"type": "regex",
|
|
87
|
+
"value": "\"username\":\"(?<username>[^\"]+)\"",
|
|
88
|
+
"hash": true
|
|
89
|
+
}
|
|
90
|
+
],
|
|
91
|
+
"responseRedactions": [
|
|
92
|
+
{
|
|
93
|
+
"jsonPath": "$.[{{INDEX}}].amount",
|
|
94
|
+
"xPath": ""
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"jsonPath": "$.[{{INDEX}}].completedDate",
|
|
98
|
+
"xPath": ""
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"jsonPath": "$.[{{INDEX}}].currency",
|
|
102
|
+
"xPath": ""
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"jsonPath": "$.[{{INDEX}}].id",
|
|
106
|
+
"xPath": ""
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"jsonPath": "$.[{{INDEX}}].recipient.username",
|
|
110
|
+
"xPath": ""
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"jsonPath": "$.[{{INDEX}}].state",
|
|
114
|
+
"xPath": ""
|
|
115
|
+
}
|
|
116
|
+
],
|
|
117
|
+
"mobile": {
|
|
118
|
+
"includeAdditionalCookieDomains": [],
|
|
119
|
+
"useExternalAction": true,
|
|
120
|
+
"external": {
|
|
121
|
+
"actionLink": "https://revolut.me/{{RECIPIENT_ID}}",
|
|
122
|
+
"appStoreLink": "https://apps.apple.com/us/app/revolut/id370619147",
|
|
123
|
+
"playStoreLink": "https://play.google.com/store/apps/details?id=com.revolut.revolut"
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|