@tap-payments/apple-pay-button 0.0.5-test → 0.0.6-staging
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/README.md +204 -81
- package/build/@types/ApplePayButtonProps.d.ts +56 -0
- package/build/@types/ApplePayButtonProps.js +1 -0
- package/build/@types/charge.d.ts +56 -0
- package/build/@types/charge.js +1 -0
- package/build/@types/checkoutProfile.d.ts +216 -0
- package/build/@types/checkoutProfile.js +1 -0
- package/build/@types/enums.d.ts +44 -0
- package/build/@types/enums.js +51 -0
- package/build/@types/index.d.ts +6 -73
- package/build/@types/index.js +6 -1
- package/build/@types/tapLocalisation.d.ts +193 -0
- package/build/@types/tapLocalisation.js +1 -0
- package/build/@types/tapTheme.d.ts +842 -0
- package/build/@types/tapTheme.js +1 -0
- package/build/api.d.ts +31 -0
- package/build/api.js +236 -0
- package/build/constants/index.d.ts +3 -25
- package/build/constants/index.js +3 -25
- package/build/features/ApplePayButton/ApplePayButton.d.ts +4 -8
- package/build/features/ApplePayButton/ApplePayButton.js +29 -24
- package/build/features/ApplePayButton/index.d.ts +2 -2
- package/build/hooks/index.d.ts +1 -1
- package/build/hooks/index.js +1 -1
- package/build/hooks/useApplePay.d.ts +77 -5
- package/build/hooks/useApplePay.js +294 -75
- package/build/hooks/useMerchantApplePay.d.ts +22 -0
- package/build/hooks/useMerchantApplePay.js +190 -0
- package/build/index.d.ts +5 -4
- package/build/index.js +9 -5
- package/build/utils/config.d.ts +11 -6
- package/build/utils/config.js +43 -38
- package/build/utils/defaultValues.d.ts +2 -0
- package/build/utils/defaultValues.js +27 -0
- package/build/utils/index.d.ts +3 -1
- package/build/utils/index.js +3 -1
- package/build/utils/theme.d.ts +13 -0
- package/build/utils/theme.js +62 -0
- package/package.json +109 -102
- package/build/api/app.service.d.ts +0 -11
- package/build/api/app.service.js +0 -217
- package/build/api/base.d.ts +0 -9
- package/build/api/base.js +0 -45
- package/build/api/httpClient.d.ts +0 -2
- package/build/api/httpClient.js +0 -16
- package/build/features/ApplePayButton/ApplePayButton.css +0 -51
- package/build/hooks/useScript.d.ts +0 -1
- package/build/hooks/useScript.js +0 -39
- package/build/utils/html.d.ts +0 -3
- package/build/utils/html.js +0 -20
package/README.md
CHANGED
|
@@ -22,96 +22,219 @@ yarn add @tap-payments/apple-pay-button
|
|
|
22
22
|
|
|
23
23
|
### ES6
|
|
24
24
|
|
|
25
|
-
```
|
|
25
|
+
```javascript
|
|
26
26
|
import React from 'react'
|
|
27
|
-
import {
|
|
27
|
+
import {
|
|
28
|
+
ApplePayButton,
|
|
29
|
+
ThemeMode,
|
|
30
|
+
SupportedNetworks,
|
|
31
|
+
Scope,
|
|
32
|
+
Environment,
|
|
33
|
+
Locale,
|
|
34
|
+
ButtonType,
|
|
35
|
+
Edges
|
|
36
|
+
} from '@tap-payments/apple-pay-button'
|
|
28
37
|
|
|
29
38
|
const App = () => {
|
|
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
|
-
|
|
39
|
+
return (
|
|
40
|
+
<ApplePayButton
|
|
41
|
+
// The public Key provided by Tap
|
|
42
|
+
publicKey={'pk_test_xxxxxxxxxxxxxxxzh'}
|
|
43
|
+
//The environment of the SDK and it can be one of these environments
|
|
44
|
+
environment={Environment.Development}
|
|
45
|
+
//to enable the debug mode
|
|
46
|
+
debug
|
|
47
|
+
merchant={{
|
|
48
|
+
// The merchant domain name
|
|
49
|
+
domain: 'example.com',
|
|
50
|
+
// The merchant identifier provided by Tap
|
|
51
|
+
id: '1xxxxx8'
|
|
52
|
+
}}
|
|
53
|
+
transaction={{
|
|
54
|
+
// The amount to be charged
|
|
55
|
+
amount: '12',
|
|
56
|
+
// The currency of the amount
|
|
57
|
+
currency: 'KWD'
|
|
58
|
+
}}
|
|
59
|
+
// The scope of the SDK and it can be one of these scopes:
|
|
60
|
+
// [TapToken,AppleToken], by default it is TapToken)
|
|
61
|
+
scope={Scope.TapToken}
|
|
62
|
+
acceptance={{
|
|
63
|
+
// The supported networks for the Apple Pay button and it
|
|
64
|
+
// can be one of these networks: [Mada,Visa,MasterCard], by default
|
|
65
|
+
// we bring all the supported networks from tap merchant configuration
|
|
66
|
+
supportedBrands: [SupportedNetworks.Mada, SupportedNetworks.Visa, SupportedNetworks.MasterCard]
|
|
67
|
+
supportedCards : ["DEBIT","CREDIT"],
|
|
68
|
+
supportedCardsWithAuthentications : ["3DS","EMV"]
|
|
69
|
+
}}
|
|
70
|
+
// The billing contact information
|
|
71
|
+
customer={{
|
|
72
|
+
id: 'cus_xxx',
|
|
73
|
+
name: [
|
|
74
|
+
{
|
|
75
|
+
//"en or ar",
|
|
76
|
+
lang: Locale.EN,
|
|
77
|
+
// "First name of the customer.",
|
|
78
|
+
first: 'test',
|
|
79
|
+
//"Last name of the customer.",
|
|
80
|
+
last: 'tester',
|
|
81
|
+
// "Middle name of the customer.",
|
|
82
|
+
middle: 'test'
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
// Defines the contact details for the customer & to be used in creating the billing contact info in Apple pay request
|
|
86
|
+
contact: {
|
|
87
|
+
//"The customer's email",
|
|
88
|
+
email: 'test@gmail.com',
|
|
89
|
+
//"The customer's phone number"
|
|
90
|
+
phone: {
|
|
91
|
+
//"The customer's country code",
|
|
92
|
+
countryCode: '+20',
|
|
93
|
+
//"The customer's phone number
|
|
94
|
+
number: '10XXXXXX56'
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}}
|
|
98
|
+
//for styling button
|
|
99
|
+
interface={{
|
|
100
|
+
//The locale of the Apple Pay button and it can be one of these locales:[EN,AR]
|
|
101
|
+
locale: Locale.EN,
|
|
102
|
+
// The theme of the Apple Pay button and it can be one of
|
|
103
|
+
// these values : [light,Dark], by default it is detected from user device
|
|
104
|
+
theme: ThemeMode.DARK,
|
|
105
|
+
// The type of the Apple Pay
|
|
106
|
+
type: ButtonType.BUY,
|
|
107
|
+
// The border of the Apple Pay button and it can be one of these values:[curved,straight]
|
|
108
|
+
edges: Edges.CURVED
|
|
109
|
+
}}
|
|
110
|
+
// optional (A callback function that will be called when you cancel
|
|
111
|
+
// the payment process)
|
|
112
|
+
onCancel={() => console.log('cancelled')}
|
|
113
|
+
// optional (A callback function that will be called when you have an error)
|
|
114
|
+
onError={(err) => console.error(err)}
|
|
115
|
+
// optional (A async function that will be called after creating the token
|
|
116
|
+
// successfully)
|
|
117
|
+
onSuccess={async (token) => {
|
|
118
|
+
// do your stuff here...
|
|
119
|
+
console.log(token)
|
|
120
|
+
}}
|
|
121
|
+
// optional (A callback function that will be called when you button is clickable)
|
|
122
|
+
onReady={() => {
|
|
123
|
+
console.log('Ready')
|
|
124
|
+
}}
|
|
125
|
+
// optional (A callback function that will be called when the button clicked)
|
|
126
|
+
onClick={() => {
|
|
127
|
+
console.log('Clicked')
|
|
128
|
+
}}
|
|
129
|
+
/>
|
|
130
|
+
)
|
|
93
131
|
}
|
|
94
132
|
```
|
|
95
133
|
|
|
96
134
|
### Vanilla JS
|
|
97
135
|
|
|
98
|
-
```
|
|
99
|
-
|
|
136
|
+
```html
|
|
137
|
+
<!DOCTYPE html>
|
|
138
|
+
<html lang="en">
|
|
139
|
+
<head>
|
|
140
|
+
<meta charset="UTF-8" />
|
|
141
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
142
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
143
|
+
<title>apple pay button</title>
|
|
144
|
+
<link rel="stylesheet" href="https://tap-sdks.b-cdn.net/apple-pay/build-0.0.36-test/main.css" />
|
|
145
|
+
<script src="https://tap-sdks.b-cdn.net/apple-pay/build-0.0.36-test/main.js"></script>
|
|
146
|
+
</head>
|
|
147
|
+
|
|
148
|
+
<body>
|
|
149
|
+
<div id="apple-pay-button"></div>
|
|
150
|
+
<script type="text/javascript">
|
|
151
|
+
const { renderApplePayButton, ThemeMode, SupportedNetworks, Scope, Environment, Locale, ButtonType, Edges } =
|
|
152
|
+
window.TapSDKs
|
|
153
|
+
renderApplePayButton(
|
|
154
|
+
{
|
|
155
|
+
publicKey: 'pk_test_7xxxxxxxxx',
|
|
156
|
+
environment: Environment.Sandbox,
|
|
157
|
+
scope: Scope.TapToken,
|
|
158
|
+
merchant: {
|
|
159
|
+
domain: 'tp-txxxxxxxx',
|
|
160
|
+
id: 'merchant_xxxxxxxxxx'
|
|
161
|
+
},
|
|
162
|
+
transaction: {
|
|
163
|
+
currency: 'SAR',
|
|
164
|
+
amount: '3'
|
|
165
|
+
},
|
|
166
|
+
acceptance: {
|
|
167
|
+
supportedBrands: [SupportedNetworks.Mada, SupportedNetworks.Visa, SupportedNetworks.MasterCard],
|
|
168
|
+
supportedCards: ['DEBIT', 'CREDIT'],
|
|
169
|
+
supportedCardsWithAuthentications: ['3DS', 'EMV']
|
|
170
|
+
},
|
|
171
|
+
|
|
172
|
+
customer: {
|
|
173
|
+
id: 'cus_xxx',
|
|
174
|
+
name: [
|
|
175
|
+
{
|
|
176
|
+
locale: 'en',
|
|
177
|
+
first: 'test',
|
|
178
|
+
last: 'tester',
|
|
179
|
+
middle: 'test'
|
|
180
|
+
}
|
|
181
|
+
],
|
|
182
|
+
contact: {
|
|
183
|
+
email: 'test@gmail.com',
|
|
184
|
+
phone: {
|
|
185
|
+
number: '10XXXXXX56',
|
|
186
|
+
countryCode: '+20'
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
interface: {
|
|
191
|
+
locale: Locale.EN,
|
|
192
|
+
theme: ThemeMode.DARK,
|
|
193
|
+
type: ButtonType.BUY,
|
|
194
|
+
edges: Edges.CURVED
|
|
195
|
+
},
|
|
196
|
+
onCancel: async () => {
|
|
197
|
+
console.log('onCancel')
|
|
198
|
+
},
|
|
199
|
+
onError: async (error) => {
|
|
200
|
+
console.log('onError', error)
|
|
201
|
+
},
|
|
202
|
+
onSuccess: async (data) => {
|
|
203
|
+
console.log('onSuccess', data)
|
|
204
|
+
},
|
|
205
|
+
onReady: async () => {
|
|
206
|
+
console.log('onReady')
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
'apple-pay-button'
|
|
210
|
+
)
|
|
211
|
+
</script>
|
|
212
|
+
</body>
|
|
213
|
+
</html>
|
|
100
214
|
```
|
|
101
215
|
|
|
102
216
|
## Configurations
|
|
103
217
|
|
|
104
|
-
| Name
|
|
105
|
-
|
|
|
106
|
-
| publicKey
|
|
107
|
-
|
|
|
108
|
-
|
|
|
109
|
-
|
|
|
110
|
-
|
|
|
111
|
-
|
|
|
112
|
-
|
|
|
113
|
-
|
|
|
114
|
-
|
|
|
115
|
-
|
|
|
116
|
-
|
|
|
117
|
-
|
|
|
218
|
+
| Name | Type | R/O | Description |
|
|
219
|
+
| -------------------------------------------- | ------------ | ---------- | -------------------------------------------------------------------------------- |
|
|
220
|
+
| publicKey | `string` | `required` | The public Key provided by Tap |
|
|
221
|
+
| environment | `enum` | `optional` | The environment of the SDK and it can be one of these environments `Environment` |
|
|
222
|
+
| debug | `boolean` | `optional` | To enable the debug mode |
|
|
223
|
+
| merchant.id | `string` | `required` | The merchant identifier provided by Tap |
|
|
224
|
+
| merchant.domain | `string` | `required` | The merchant domain name |
|
|
225
|
+
| transaction.amount | `string` | `required` | The amount to be charged |
|
|
226
|
+
| transaction.currency | `string` | `required` | The currency of the amount |
|
|
227
|
+
| scope | `enum` | `optional` | The scope of the SDK |
|
|
228
|
+
| acceptance.supportedBrands | `array` | `optional` | The supported networks for the Apple Pay button |
|
|
229
|
+
| acceptance.supportedCards | `array` | `optional` | The supported cards for the Apple Pay button |
|
|
230
|
+
| acceptance.supportedCardsWithAuthentications | `array` | `optional` | The supported cards with authentications for the Apple Pay button |
|
|
231
|
+
| interface.theme | `enum` | `optional` | The theme of the Apple Pay button |
|
|
232
|
+
| interface.locale | `Locale` | `optional` | The locale of the Apple Pay button |
|
|
233
|
+
| interface.type | `ButtonType` | `optional` | The type of the Apple Pay button |
|
|
234
|
+
| interface.edges | `ButtonType` | `optional` | The border of the Apple Pay button |
|
|
235
|
+
| customer | `object` | `optional` | The Customer details information |
|
|
236
|
+
| onCancel | `function` | `optional` | A callback function that will be called when you cancel the process |
|
|
237
|
+
| onError | `function` | `optional` | A callback function that will be called when you have an error |
|
|
238
|
+
| onSuccess | `function` | `optional` | A async function that will be called after creating the token successfully |
|
|
239
|
+
| onClick | `function` | `optional` | A callback function that will be called when the button clicked |
|
|
240
|
+
| onReady | `function` | `optional` | A callback function that will be called when you button is clickable |
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { type ButtonSDKProps } from '@tap-payments/acceptance-sdk';
|
|
2
|
+
import { CheckoutProfileResponse } from './checkoutProfile';
|
|
3
|
+
import { MerchantCapabilities, SupportedNetworks, IntegrationType } from './enums';
|
|
4
|
+
export interface ApplePayRequestData {
|
|
5
|
+
countryCode: string;
|
|
6
|
+
currencyCode: string;
|
|
7
|
+
merchantCapabilities: Array<MerchantCapabilities>;
|
|
8
|
+
supportedNetworks: Array<SupportedNetworks>;
|
|
9
|
+
billingContact?: {
|
|
10
|
+
phoneNumber?: string;
|
|
11
|
+
emailAddress?: string;
|
|
12
|
+
givenName: string;
|
|
13
|
+
familyName: string;
|
|
14
|
+
};
|
|
15
|
+
total: {
|
|
16
|
+
label: string;
|
|
17
|
+
amount: number;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export interface ApplePayDataToLunchSDKFromMerchantSide {
|
|
21
|
+
headers: Record<string, any>;
|
|
22
|
+
BASE_URL: string;
|
|
23
|
+
merchant: Record<string, any>;
|
|
24
|
+
applePayRequestData: ApplePayRequestData;
|
|
25
|
+
debug?: boolean;
|
|
26
|
+
applePaySDKVersion?: number;
|
|
27
|
+
}
|
|
28
|
+
export type Acceptance = Exclude<ButtonSDKProps['acceptance'], undefined>;
|
|
29
|
+
export type ProfileData = Exclude<Exclude<ButtonSDKProps['metadata'], undefined>['profileData'], undefined>;
|
|
30
|
+
export type Transaction = Exclude<ButtonSDKProps['transaction'], undefined>;
|
|
31
|
+
export interface ApplePayButtonProps extends ButtonSDKProps {
|
|
32
|
+
merchant: ButtonSDKProps['merchant'] & {
|
|
33
|
+
identifier?: string;
|
|
34
|
+
};
|
|
35
|
+
onClick?: (data?: ApplePayDataToLunchSDKFromMerchantSide) => void;
|
|
36
|
+
integration?: IntegrationType;
|
|
37
|
+
}
|
|
38
|
+
export interface MerchantValidationRequestData {
|
|
39
|
+
validationUrl: string;
|
|
40
|
+
origin: string;
|
|
41
|
+
merchantId: string;
|
|
42
|
+
merchantName: string;
|
|
43
|
+
merchantIdentifier: string;
|
|
44
|
+
}
|
|
45
|
+
export interface MerchantResponse {
|
|
46
|
+
id: string;
|
|
47
|
+
name: string;
|
|
48
|
+
country_code: string;
|
|
49
|
+
session_token: string;
|
|
50
|
+
[other: string]: string;
|
|
51
|
+
}
|
|
52
|
+
export interface MetaData {
|
|
53
|
+
merchant: MerchantResponse;
|
|
54
|
+
payment_options: CheckoutProfileResponse['payment_options'];
|
|
55
|
+
headers: Record<string, string>;
|
|
56
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export interface ChargeRequestBody {
|
|
2
|
+
source: {
|
|
3
|
+
id: string;
|
|
4
|
+
};
|
|
5
|
+
ipaddress?: string;
|
|
6
|
+
amount: number;
|
|
7
|
+
currency: string;
|
|
8
|
+
selected_amount?: number;
|
|
9
|
+
selected_currency?: string;
|
|
10
|
+
product: string;
|
|
11
|
+
threeDSecure?: boolean;
|
|
12
|
+
save_card: boolean;
|
|
13
|
+
customer: {
|
|
14
|
+
id?: string;
|
|
15
|
+
first_name?: string;
|
|
16
|
+
middle_name?: string;
|
|
17
|
+
last_name?: string;
|
|
18
|
+
email?: string;
|
|
19
|
+
phone?: {
|
|
20
|
+
country_code: string;
|
|
21
|
+
number: string;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
hashstring?: string;
|
|
25
|
+
metadata?: Record<string, string>;
|
|
26
|
+
post?: {
|
|
27
|
+
url: string;
|
|
28
|
+
};
|
|
29
|
+
redirect?: {
|
|
30
|
+
url: string;
|
|
31
|
+
};
|
|
32
|
+
merchant?: {
|
|
33
|
+
id: string;
|
|
34
|
+
};
|
|
35
|
+
order?: {
|
|
36
|
+
id: string;
|
|
37
|
+
};
|
|
38
|
+
payment_agreement?: {
|
|
39
|
+
id: string;
|
|
40
|
+
contract?: {
|
|
41
|
+
id: string;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
destinations?: Record<string, any>;
|
|
45
|
+
reference?: {
|
|
46
|
+
order?: string;
|
|
47
|
+
transaction?: string;
|
|
48
|
+
};
|
|
49
|
+
description?: string;
|
|
50
|
+
}
|
|
51
|
+
export interface AuthorizeRequestBody extends ChargeRequestBody {
|
|
52
|
+
auto?: {
|
|
53
|
+
type: string;
|
|
54
|
+
time: string;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { SupportedNetworks, ThemeMode } from '..';
|
|
2
|
+
export interface CheckoutProfileRequest {
|
|
3
|
+
supported_payment_methods: string[];
|
|
4
|
+
supported_currencies: string[];
|
|
5
|
+
transaction_mode: string;
|
|
6
|
+
currency: string;
|
|
7
|
+
merchant_id: string;
|
|
8
|
+
total_amount: number;
|
|
9
|
+
order: {
|
|
10
|
+
id?: string;
|
|
11
|
+
amount: number;
|
|
12
|
+
currency: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
metadata?: Record<string, string>;
|
|
15
|
+
customer?: {
|
|
16
|
+
id?: string;
|
|
17
|
+
email?: string;
|
|
18
|
+
first_name?: string;
|
|
19
|
+
last_name?: string;
|
|
20
|
+
phone?: {
|
|
21
|
+
country_code: string;
|
|
22
|
+
number: string;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
items: {
|
|
26
|
+
quantity: number;
|
|
27
|
+
amount: number;
|
|
28
|
+
currency: string;
|
|
29
|
+
name: string;
|
|
30
|
+
description: string;
|
|
31
|
+
}[];
|
|
32
|
+
merchant: {
|
|
33
|
+
id: string;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export interface CheckoutProfileResponse {
|
|
38
|
+
status: string;
|
|
39
|
+
merchant: MerchantResponse;
|
|
40
|
+
assests: Assests;
|
|
41
|
+
payment_options: Paymentoptions;
|
|
42
|
+
session: string;
|
|
43
|
+
}
|
|
44
|
+
interface Paymentoptions {
|
|
45
|
+
id: string;
|
|
46
|
+
object: string;
|
|
47
|
+
payment_methods: PaymentMethod[];
|
|
48
|
+
currency: string;
|
|
49
|
+
country: string;
|
|
50
|
+
settlement_currency: string;
|
|
51
|
+
supported_currencies: Supportedcurrency[];
|
|
52
|
+
api_version: string;
|
|
53
|
+
order: Order;
|
|
54
|
+
}
|
|
55
|
+
interface Order {
|
|
56
|
+
id: string;
|
|
57
|
+
amount: number;
|
|
58
|
+
currency: string;
|
|
59
|
+
customer: {
|
|
60
|
+
id?: string;
|
|
61
|
+
email: string;
|
|
62
|
+
phone?: {
|
|
63
|
+
country_code: string;
|
|
64
|
+
number: string;
|
|
65
|
+
};
|
|
66
|
+
first_name?: string;
|
|
67
|
+
last_name?: string;
|
|
68
|
+
};
|
|
69
|
+
items: Array<OrderItem>;
|
|
70
|
+
}
|
|
71
|
+
interface OrderItem {
|
|
72
|
+
name: string;
|
|
73
|
+
amount: number;
|
|
74
|
+
currency: string;
|
|
75
|
+
quantity: number;
|
|
76
|
+
requires_shipping: boolean;
|
|
77
|
+
description: string;
|
|
78
|
+
}
|
|
79
|
+
interface Supportedcurrency {
|
|
80
|
+
symbol: string;
|
|
81
|
+
name: string;
|
|
82
|
+
flag: string;
|
|
83
|
+
decimal_digit: number;
|
|
84
|
+
selected: boolean;
|
|
85
|
+
rate: number;
|
|
86
|
+
logos: Logos2;
|
|
87
|
+
order_by: number;
|
|
88
|
+
currency: string;
|
|
89
|
+
amount: number;
|
|
90
|
+
}
|
|
91
|
+
interface Logos2 {
|
|
92
|
+
dark: Disabled;
|
|
93
|
+
light: Disabled;
|
|
94
|
+
light_mono: Disabled;
|
|
95
|
+
dark_colored: Disabled;
|
|
96
|
+
}
|
|
97
|
+
export interface PaymentMethod {
|
|
98
|
+
id: string;
|
|
99
|
+
name: string;
|
|
100
|
+
name_ar: string;
|
|
101
|
+
image: string;
|
|
102
|
+
payment_type: string;
|
|
103
|
+
supported_card_brands: SupportedNetworks[];
|
|
104
|
+
supported_currencies: string[];
|
|
105
|
+
order_by: number;
|
|
106
|
+
cc_markup: number;
|
|
107
|
+
asynchronous: boolean;
|
|
108
|
+
threeDS: string;
|
|
109
|
+
api_version: number;
|
|
110
|
+
api_version_minor: number;
|
|
111
|
+
logos: Logos;
|
|
112
|
+
payment_order_type: string;
|
|
113
|
+
button_style: Buttonstyle;
|
|
114
|
+
display_name: string;
|
|
115
|
+
default_currency: string;
|
|
116
|
+
identifier?: string;
|
|
117
|
+
}
|
|
118
|
+
interface Buttonstyle {
|
|
119
|
+
background: Background2;
|
|
120
|
+
title_asset: 'https://tap-assets.b-cdn.net/action-button/{theme}/{lang}/mastercard';
|
|
121
|
+
}
|
|
122
|
+
interface Background2 {
|
|
123
|
+
light: Light2;
|
|
124
|
+
dark: Light2;
|
|
125
|
+
light_mono: Light2;
|
|
126
|
+
dark_colored: Light2;
|
|
127
|
+
}
|
|
128
|
+
interface Light2 {
|
|
129
|
+
base_color: string;
|
|
130
|
+
background_colors: string[];
|
|
131
|
+
}
|
|
132
|
+
interface Logos {
|
|
133
|
+
dark: Dark2;
|
|
134
|
+
light: Dark2;
|
|
135
|
+
light_mono: Dark2;
|
|
136
|
+
dark_colored: Dark2;
|
|
137
|
+
}
|
|
138
|
+
interface Dark2 {
|
|
139
|
+
svg: string;
|
|
140
|
+
png: string;
|
|
141
|
+
disabled: Disabled;
|
|
142
|
+
currency_widget: Disabled;
|
|
143
|
+
card_icon: Disabled;
|
|
144
|
+
}
|
|
145
|
+
interface Disabled {
|
|
146
|
+
svg: string;
|
|
147
|
+
png: string;
|
|
148
|
+
}
|
|
149
|
+
interface Assests {
|
|
150
|
+
localisation: Localisation;
|
|
151
|
+
theme: Theme;
|
|
152
|
+
web: Theme;
|
|
153
|
+
}
|
|
154
|
+
type Theme = Record<ThemeMode, string> & {
|
|
155
|
+
card: {
|
|
156
|
+
light: string;
|
|
157
|
+
dark: string;
|
|
158
|
+
};
|
|
159
|
+
};
|
|
160
|
+
interface Localisation {
|
|
161
|
+
url: string;
|
|
162
|
+
card: {
|
|
163
|
+
url: string;
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
interface MerchantResponse {
|
|
167
|
+
id: string;
|
|
168
|
+
api_version: string;
|
|
169
|
+
live_mode: boolean;
|
|
170
|
+
object: string;
|
|
171
|
+
name: string;
|
|
172
|
+
country_code: string;
|
|
173
|
+
logo: string;
|
|
174
|
+
background: Background;
|
|
175
|
+
contact: any[];
|
|
176
|
+
powered_by: boolean;
|
|
177
|
+
sdk_settings: Sdksettings;
|
|
178
|
+
session_token: string;
|
|
179
|
+
key_type: string;
|
|
180
|
+
encryption_key: string;
|
|
181
|
+
permissions: string[];
|
|
182
|
+
permission: Permission;
|
|
183
|
+
}
|
|
184
|
+
interface Permission {
|
|
185
|
+
card_wallet: boolean;
|
|
186
|
+
threeDSecure: boolean;
|
|
187
|
+
pci_dss: boolean;
|
|
188
|
+
}
|
|
189
|
+
interface Sdksettings {
|
|
190
|
+
status_display_duration: number;
|
|
191
|
+
otp_resend_interval: number;
|
|
192
|
+
otp_resend_attempts: number;
|
|
193
|
+
}
|
|
194
|
+
interface Background {
|
|
195
|
+
url: string;
|
|
196
|
+
mode: string;
|
|
197
|
+
color: Color;
|
|
198
|
+
}
|
|
199
|
+
interface Color {
|
|
200
|
+
dark: Dark;
|
|
201
|
+
light: Light;
|
|
202
|
+
}
|
|
203
|
+
interface Light {
|
|
204
|
+
color: string;
|
|
205
|
+
rectangle: Rectangle;
|
|
206
|
+
image: string;
|
|
207
|
+
}
|
|
208
|
+
interface Rectangle {
|
|
209
|
+
background: string;
|
|
210
|
+
'backdrop-filter': string;
|
|
211
|
+
}
|
|
212
|
+
interface Dark {
|
|
213
|
+
color: string;
|
|
214
|
+
image: string;
|
|
215
|
+
}
|
|
216
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|