-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathTransactionInitialize.ts
More file actions
155 lines (147 loc) · 4.96 KB
/
TransactionInitialize.ts
File metadata and controls
155 lines (147 loc) · 4.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
/* tslint:disable */
/* eslint-disable */
/**
* Paystack
* The OpenAPI specification of the Paystack API that merchants and developers can harness to build financial solutions in Africa.
*
* The version of the Paystack Node library: 1.0.0
* Contact: techsupport@paystack.com
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
/**
*
* @export
* @interface TransactionInitialize
*/
export interface TransactionInitialize {
/**
* Customer's email address
* @type {string}
* @memberof TransactionInitialize
*/
email: string;
/**
* Amount should be in kobo if currency is NGN, pesewas, if currency is GHS, and cents, if currency is ZAR
* @type {number}
* @memberof TransactionInitialize
*/
amount: number;
/**
* The transaction currency
* @type {string}
* @memberof TransactionInitialize
*/
currency?: string;
/**
* Unique transaction reference. Only -, ., = and alphanumeric characters allowed.
* @type {string}
* @memberof TransactionInitialize
*/
reference?: string;
/**
* Fully qualified url, e.g. https://example.com/ . Use this to override the callback url provided on the dashboard for this transaction
* @type {string}
* @memberof TransactionInitialize
*/
callbackUrl?: string;
/**
* If transaction is to create a subscription to a predefined plan, provide plan code here.
* This would invalidate the value provided in amount
* @type {string}
* @memberof TransactionInitialize
*/
plan?: string;
/**
* Number of times to charge customer during subscription to plan
* @type {number}
* @memberof TransactionInitialize
*/
invoiceLimit?: number;
/**
* Stringified JSON object of custom data
* @type {string}
* @memberof TransactionInitialize
*/
metadata?: string;
/**
* An array of payment channels to control what channels you want to make available to the user to make a payment with
* @type {Array<string>}
* @memberof TransactionInitialize
*/
channels?: Array<string>;
/**
* The split code of the transaction split
* @type {string}
* @memberof TransactionInitialize
*/
splitCode?: string;
/**
* The code for the subaccount that owns the payment
* @type {string}
* @memberof TransactionInitialize
*/
subaccount?: string;
/**
* A flat fee to charge the subaccount for a transaction.
* This overrides the split percentage set when the subaccount was created
* @type {string}
* @memberof TransactionInitialize
*/
transactionCharge?: string;
/**
* The beare of the transaction charge
* @type {string}
* @memberof TransactionInitialize
*/
bearer?: string;
}
export function TransactionInitializeFromJSON(json: any): TransactionInitialize {
return TransactionInitializeFromJSONTyped(json, false);
}
export function TransactionInitializeFromJSONTyped(json: any, ignoreDiscriminator: boolean): TransactionInitialize {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'email': json['email'],
'amount': json['amount'],
'currency': !exists(json, 'currency') ? undefined : json['currency'],
'reference': !exists(json, 'reference') ? undefined : json['reference'],
'callbackUrl': !exists(json, 'callback_url') ? undefined : json['callback_url'],
'plan': !exists(json, 'plan') ? undefined : json['plan'],
'invoiceLimit': !exists(json, 'invoice_limit') ? undefined : json['invoice_limit'],
'metadata': !exists(json, 'metadata') ? undefined : json['metadata'],
'channels': !exists(json, 'channels') ? undefined : json['channels'],
'splitCode': !exists(json, 'split_code') ? undefined : json['split_code'],
'subaccount': !exists(json, 'subaccount') ? undefined : json['subaccount'],
'transactionCharge': !exists(json, 'transaction_charge') ? undefined : json['transaction_charge'],
'bearer': !exists(json, 'bearer') ? undefined : json['bearer'],
};
}
export function TransactionInitializeToJSON(value?: TransactionInitialize | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'email': value.email,
'amount': value.amount,
'currency': value.currency,
'reference': value.reference,
'callback_url': value.callbackUrl,
'plan': value.plan,
'invoice_limit': value.invoiceLimit,
'metadata': value.metadata,
'channels': value.channels,
'split_code': value.splitCode,
'subaccount': value.subaccount,
'transaction_charge': value.transactionCharge,
'bearer': value.bearer,
};
}