pluspay-a2a-react-native 0.1.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.
Files changed (47) hide show
  1. package/LICENSE +20 -0
  2. package/PluspayA2aReactNative.podspec +20 -0
  3. package/README.md +349 -0
  4. package/android/build.gradle +67 -0
  5. package/android/src/main/AndroidManifest.xml +11 -0
  6. package/android/src/main/java/com/pluspaya2areactnative/PluspayA2aReactNativeModule.kt +115 -0
  7. package/android/src/main/java/com/pluspaya2areactnative/PluspayA2aReactNativePackage.kt +31 -0
  8. package/ios/PluspayA2aReactNative.h +5 -0
  9. package/ios/PluspayA2aReactNative.mm +37 -0
  10. package/lib/module/NativePluspayA2aReactNative.js +14 -0
  11. package/lib/module/NativePluspayA2aReactNative.js.map +1 -0
  12. package/lib/module/client.js +112 -0
  13. package/lib/module/client.js.map +1 -0
  14. package/lib/module/index.js +8 -0
  15. package/lib/module/index.js.map +1 -0
  16. package/lib/module/models/enums.js +190 -0
  17. package/lib/module/models/enums.js.map +1 -0
  18. package/lib/module/models/exceptions.js +19 -0
  19. package/lib/module/models/exceptions.js.map +1 -0
  20. package/lib/module/models/requests.js +197 -0
  21. package/lib/module/models/requests.js.map +1 -0
  22. package/lib/module/models/responses.js +2 -0
  23. package/lib/module/models/responses.js.map +1 -0
  24. package/lib/module/package.json +1 -0
  25. package/lib/typescript/package.json +1 -0
  26. package/lib/typescript/src/NativePluspayA2aReactNative.d.ts +25 -0
  27. package/lib/typescript/src/NativePluspayA2aReactNative.d.ts.map +1 -0
  28. package/lib/typescript/src/client.d.ts +50 -0
  29. package/lib/typescript/src/client.d.ts.map +1 -0
  30. package/lib/typescript/src/index.d.ts +6 -0
  31. package/lib/typescript/src/index.d.ts.map +1 -0
  32. package/lib/typescript/src/models/enums.d.ts +169 -0
  33. package/lib/typescript/src/models/enums.d.ts.map +1 -0
  34. package/lib/typescript/src/models/exceptions.d.ts +10 -0
  35. package/lib/typescript/src/models/exceptions.d.ts.map +1 -0
  36. package/lib/typescript/src/models/requests.d.ts +128 -0
  37. package/lib/typescript/src/models/requests.d.ts.map +1 -0
  38. package/lib/typescript/src/models/responses.d.ts +51 -0
  39. package/lib/typescript/src/models/responses.d.ts.map +1 -0
  40. package/package.json +127 -0
  41. package/src/NativePluspayA2aReactNative.ts +27 -0
  42. package/src/client.ts +137 -0
  43. package/src/index.tsx +5 -0
  44. package/src/models/enums.ts +186 -0
  45. package/src/models/exceptions.ts +19 -0
  46. package/src/models/requests.ts +302 -0
  47. package/src/models/responses.ts +56 -0
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+
3
+ import Native from "./NativePluspayA2aReactNative.js";
4
+ import { PPA2AException } from "./models/exceptions.js";
5
+ /**
6
+ * Main client for PlusPay POS+ App2App (A2A) integration (Android only).
7
+ *
8
+ * Usage:
9
+ * ```ts
10
+ * const pp = new PPA2AClient();
11
+ * await pp.initialize();
12
+ * try {
13
+ * const res = await pp.startPayment(
14
+ * PPStartPaymentRequestModel.toRequest({
15
+ * orderCode: 'ORD001',
16
+ * totalAmount: 100,
17
+ * paymentType: PPPaymentType.POS,
18
+ * paymentMethod: PPPaymentMethod.CC,
19
+ * }),
20
+ * );
21
+ * } catch (e) {
22
+ * if (e instanceof PPA2AException) console.log(e.errorCode, e.message);
23
+ * }
24
+ * ```
25
+ */
26
+ export class PPA2AClient {
27
+ initialized = false;
28
+ /** Must be called once before any request. Registers the result receiver. */
29
+ async initialize() {
30
+ if (this.initialized) return;
31
+ try {
32
+ const infoStr = await Native.initialize();
33
+ const info = infoStr ? JSON.parse(infoStr) : {};
34
+ this.packageName = info.packageName;
35
+ this.activityName = info.activityName;
36
+ this.initialized = true;
37
+ } catch (e) {
38
+ throw new PPA2AException(e?.code ?? 'INIT_ERROR', e?.message ?? String(e));
39
+ }
40
+ }
41
+ async send(request) {
42
+ if (!this.initialized) {
43
+ throw new PPA2AException('NOT_INITIALIZED', 'PPA2AClient.initialize() must be called first.');
44
+ }
45
+ let responseStr;
46
+ try {
47
+ responseStr = await Native.sendRequest(JSON.stringify(request));
48
+ } catch (e) {
49
+ throw new PPA2AException(e?.code ?? 'LAUNCH_INTENT_ERROR', e?.message ?? String(e));
50
+ }
51
+ let response;
52
+ try {
53
+ response = responseStr ? JSON.parse(responseStr) : {};
54
+ } catch (_) {
55
+ throw new PPA2AException('PP-A2A-PARSE', 'Failed to parse response JSON');
56
+ }
57
+ if (response?.error_code) {
58
+ throw new PPA2AException(response.error_code, response.error_message ?? 'Unknown error');
59
+ }
60
+ return response;
61
+ }
62
+
63
+ /** Start a payment on POS+. */
64
+ startPayment(request) {
65
+ return this.send(request);
66
+ }
67
+
68
+ /** Cancel a payment on POS+. */
69
+ cancelPayment(request) {
70
+ return this.send(request);
71
+ }
72
+
73
+ /** Start an EFT POS payment. */
74
+ startEftPayment(request) {
75
+ return this.send(request);
76
+ }
77
+
78
+ /** Cancel an EFT POS payment. */
79
+ cancelEftPayment(request) {
80
+ return this.send(request);
81
+ }
82
+
83
+ /** Start an order payment flow on POS+. */
84
+ startOrderPayment(request) {
85
+ return this.send(request);
86
+ }
87
+
88
+ /** Start a multi payment flow on POS+. */
89
+ startMultiPayment(request) {
90
+ return this.send(request);
91
+ }
92
+
93
+ /** Trigger end-of-day (EOD) on POS+. */
94
+ triggerEod(request) {
95
+ return this.send(request);
96
+ }
97
+
98
+ /** Trigger parameter update on POS+. */
99
+ triggerParameters(request) {
100
+ return this.send(request);
101
+ }
102
+
103
+ /** Stop listening and clean up native resources. */
104
+ async dispose() {
105
+ try {
106
+ await Native.dispose();
107
+ } finally {
108
+ this.initialized = false;
109
+ }
110
+ }
111
+ }
112
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Native","PPA2AException","PPA2AClient","initialized","initialize","infoStr","info","JSON","parse","packageName","activityName","e","code","message","String","send","request","responseStr","sendRequest","stringify","response","_","error_code","error_message","startPayment","cancelPayment","startEftPayment","cancelEftPayment","startOrderPayment","startMultiPayment","triggerEod","triggerParameters","dispose"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ export { PPA2AClient } from "./client.js";
4
+ export { PPA2AException } from "./models/exceptions.js";
5
+ export * from "./models/enums.js";
6
+ export * from "./models/requests.js";
7
+ export * from "./models/responses.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PPA2AClient","PPA2AException"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,aAAU;AACtC,SAASC,cAAc,QAAQ,wBAAqB;AACpD,cAAc,mBAAgB;AAC9B,cAAc,sBAAmB;AACjC,cAAc,uBAAoB","ignoreList":[]}
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Enums for the POS+ A2A contract. Values are serialized by their constant
5
+ * name (e.g. `PPPaymentType.POS` -> `"POS"`); POS+ uses snake_case only for
6
+ * field names, not for enum values.
7
+ */
8
+
9
+ export let PPTransactionType = /*#__PURE__*/function (PPTransactionType) {
10
+ PPTransactionType["POST_PAYMENT_START"] = "POST_PAYMENT_START";
11
+ PPTransactionType["POST_PAYMENT_CANCEL"] = "POST_PAYMENT_CANCEL";
12
+ PPTransactionType["POST_EFTPOS"] = "POST_EFTPOS";
13
+ PPTransactionType["POST_EFTPOS_CANCEL"] = "POST_EFTPOS_CANCEL";
14
+ PPTransactionType["ORDER_PAYMENT"] = "ORDER_PAYMENT";
15
+ PPTransactionType["EOD"] = "EOD";
16
+ PPTransactionType["PARAMETERS"] = "PARAMETERS";
17
+ PPTransactionType["ORDER_MULTI_PAYMENT"] = "ORDER_MULTI_PAYMENT";
18
+ return PPTransactionType;
19
+ }({});
20
+ export let PPPaymentType = /*#__PURE__*/function (PPPaymentType) {
21
+ PPPaymentType["POS"] = "POS";
22
+ PPPaymentType["PAYCELL"] = "PAYCELL";
23
+ PPPaymentType["HEPSIPAY"] = "HEPSIPAY";
24
+ PPPaymentType["ISTANBULCARD"] = "ISTANBULCARD";
25
+ PPPaymentType["CASH"] = "CASH";
26
+ PPPaymentType["ONLINE"] = "ONLINE";
27
+ PPPaymentType["BANK_TRANSFER"] = "BANK_TRANSFER";
28
+ PPPaymentType["GASTROPAY"] = "GASTROPAY";
29
+ PPPaymentType["CIO_CARD"] = "CIO_CARD";
30
+ PPPaymentType["IWALLET"] = "IWALLET";
31
+ PPPaymentType["PAYE"] = "PAYE";
32
+ PPPaymentType["MULTINET"] = "MULTINET";
33
+ PPPaymentType["METROPOL"] = "METROPOL";
34
+ PPPaymentType["FASTPAY"] = "FASTPAY";
35
+ PPPaymentType["TICKET"] = "TICKET";
36
+ PPPaymentType["EDENRED"] = "EDENRED";
37
+ PPPaymentType["SETCARD"] = "SETCARD";
38
+ PPPaymentType["SODEXO"] = "SODEXO";
39
+ PPPaymentType["GETIRPAY"] = "GETIRPAY";
40
+ PPPaymentType["TOKENFLEX"] = "TOKENFLEX";
41
+ PPPaymentType["YEMEKMATIK"] = "YEMEKMATIK";
42
+ PPPaymentType["ON_CREDIT"] = "ON_CREDIT";
43
+ PPPaymentType["VIRTUAL_POS"] = "VIRTUAL_POS";
44
+ PPPaymentType["CUZDANPLUS"] = "CUZDANPLUS";
45
+ return PPPaymentType;
46
+ }({});
47
+ export let PPPaymentMethod = /*#__PURE__*/function (PPPaymentMethod) {
48
+ PPPaymentMethod["CC"] = "CC";
49
+ PPPaymentMethod["CASH"] = "CASH";
50
+ PPPaymentMethod["QR"] = "QR";
51
+ PPPaymentMethod["QR_R"] = "QR_R";
52
+ PPPaymentMethod["NFC"] = "NFC";
53
+ PPPaymentMethod["QUICKCODE"] = "QUICKCODE";
54
+ PPPaymentMethod["MOBILE"] = "MOBILE";
55
+ PPPaymentMethod["SWIPE"] = "SWIPE";
56
+ PPPaymentMethod["NONE"] = "NONE";
57
+ PPPaymentMethod["ONLINE"] = "ONLINE";
58
+ PPPaymentMethod["TRENDYOL"] = "TRENDYOL";
59
+ PPPaymentMethod["GETIR"] = "GETIR";
60
+ PPPaymentMethod["YEMEKSEPETI"] = "YEMEKSEPETI";
61
+ PPPaymentMethod["MIGROSYEMEK"] = "MIGROSYEMEK";
62
+ return PPPaymentMethod;
63
+ }({});
64
+ export let PPPartialPaymentType = /*#__PURE__*/function (PPPartialPaymentType) {
65
+ PPPartialPaymentType["AMOUNT"] = "AMOUNT";
66
+ PPPartialPaymentType["PRODUCT"] = "PRODUCT";
67
+ return PPPartialPaymentType;
68
+ }({});
69
+ export let PPEodType = /*#__PURE__*/function (PPEodType) {
70
+ PPEodType["POS"] = "POS";
71
+ PPEodType["CASH"] = "CASH";
72
+ PPEodType["BANK_TRANSFER"] = "BANK_TRANSFER";
73
+ PPEodType["ONLINE"] = "ONLINE";
74
+ PPEodType["OTHER"] = "OTHER";
75
+ PPEodType["MULTINET"] = "MULTINET";
76
+ PPEodType["SODEXO"] = "SODEXO";
77
+ PPEodType["SETCARD"] = "SETCARD";
78
+ PPEodType["TICKET"] = "TICKET";
79
+ PPEodType["METROPOL"] = "METROPOL";
80
+ PPEodType["PAYE"] = "PAYE";
81
+ PPEodType["TOKENFLEX"] = "TOKENFLEX";
82
+ PPEodType["EDENRED"] = "EDENRED";
83
+ PPEodType["CUZDANPLUS"] = "CUZDANPLUS";
84
+ PPEodType["IWALLET"] = "IWALLET";
85
+ return PPEodType;
86
+ }({});
87
+ export let PPParameterTypes = /*#__PURE__*/function (PPParameterTypes) {
88
+ PPParameterTypes["bank"] = "bank";
89
+ PPParameterTypes["multinet"] = "multinet";
90
+ PPParameterTypes["metropol"] = "metropol";
91
+ PPParameterTypes["paye"] = "paye";
92
+ PPParameterTypes["iwallet"] = "iwallet";
93
+ return PPParameterTypes;
94
+ }({});
95
+ export let PPCurrencyType = /*#__PURE__*/function (PPCurrencyType) {
96
+ PPCurrencyType["TRY"] = "TRY";
97
+ PPCurrencyType["USD"] = "USD";
98
+ PPCurrencyType["EUR"] = "EUR";
99
+ PPCurrencyType["GBP"] = "GBP";
100
+ return PPCurrencyType;
101
+ }({});
102
+ export let PPProductTypeEnum = /*#__PURE__*/function (PPProductTypeEnum) {
103
+ PPProductTypeEnum["PHYSICALLY"] = "PHYSICALLY";
104
+ PPProductTypeEnum["VIRTUAL"] = "VIRTUAL";
105
+ PPProductTypeEnum["INFO"] = "INFO";
106
+ PPProductTypeEnum["MD"] = "MD";
107
+ PPProductTypeEnum["DSN"] = "DSN";
108
+ PPProductTypeEnum["QP"] = "QP";
109
+ PPProductTypeEnum["KFO"] = "KFO";
110
+ PPProductTypeEnum["COMMISSION"] = "COMMISSION";
111
+ PPProductTypeEnum["HGS"] = "HGS";
112
+ return PPProductTypeEnum;
113
+ }({});
114
+ export let PPQtyEnums = /*#__PURE__*/function (PPQtyEnums) {
115
+ PPQtyEnums["ADET"] = "ADET";
116
+ PPQtyEnums["KG"] = "KG";
117
+ PPQtyEnums["GR"] = "GR";
118
+ PPQtyEnums["LT"] = "LT";
119
+ PPQtyEnums["MT"] = "MT";
120
+ PPQtyEnums["KOLI"] = "KOLI";
121
+ PPQtyEnums["PAKET"] = "PAKET";
122
+ PPQtyEnums["PORSIYON"] = "PORSIYON";
123
+ return PPQtyEnums;
124
+ }({});
125
+ export let PPDiscountTypeEnum = /*#__PURE__*/function (PPDiscountTypeEnum) {
126
+ PPDiscountTypeEnum["PERCENTAGE"] = "PERCENTAGE";
127
+ PPDiscountTypeEnum["FIXED_AMOUNT"] = "FIXED_AMOUNT";
128
+ return PPDiscountTypeEnum;
129
+ }({});
130
+ export let PPDeliveryTypeEnum = /*#__PURE__*/function (PPDeliveryTypeEnum) {
131
+ PPDeliveryTypeEnum["CASH_ORDER"] = "CASH_ORDER";
132
+ PPDeliveryTypeEnum["PACKAGE_ORDER"] = "PACKAGE_ORDER";
133
+ PPDeliveryTypeEnum["TABLE_ORDER"] = "TABLE_ORDER";
134
+ PPDeliveryTypeEnum["TAKE_AWAY"] = "TAKE_AWAY";
135
+ PPDeliveryTypeEnum["TAKE_CLOSE"] = "TAKE_CLOSE";
136
+ return PPDeliveryTypeEnum;
137
+ }({});
138
+ export let PPDeliveryStatusEnum = /*#__PURE__*/function (PPDeliveryStatusEnum) {
139
+ PPDeliveryStatusEnum["WAITING"] = "WAITING";
140
+ PPDeliveryStatusEnum["PREPREING"] = "PREPREING";
141
+ PPDeliveryStatusEnum["READY"] = "READY";
142
+ PPDeliveryStatusEnum["ONWAY"] = "ONWAY";
143
+ PPDeliveryStatusEnum["COMPLETE"] = "COMPLETE";
144
+ PPDeliveryStatusEnum["CANCEL"] = "CANCEL";
145
+ return PPDeliveryStatusEnum;
146
+ }({});
147
+ export let PPOrderStatusEnum = /*#__PURE__*/function (PPOrderStatusEnum) {
148
+ PPOrderStatusEnum["CANCEL"] = "CANCEL";
149
+ PPOrderStatusEnum["NOT_RESPONSE"] = "NOT_RESPONSE";
150
+ PPOrderStatusEnum["WAITING"] = "WAITING";
151
+ PPOrderStatusEnum["SUCCESS"] = "SUCCESS";
152
+ return PPOrderStatusEnum;
153
+ }({});
154
+ export let PPTransactionStatusEnum = /*#__PURE__*/function (PPTransactionStatusEnum) {
155
+ PPTransactionStatusEnum["SUCCESS"] = "SUCCESS";
156
+ PPTransactionStatusEnum["CANCEL"] = "CANCEL";
157
+ PPTransactionStatusEnum["FAIL"] = "FAIL";
158
+ PPTransactionStatusEnum["NONE"] = "NONE";
159
+ PPTransactionStatusEnum["WAITING"] = "WAITING";
160
+ PPTransactionStatusEnum["NOT_RESPONSE"] = "NOT_RESPONSE";
161
+ return PPTransactionStatusEnum;
162
+ }({});
163
+ export let PPDocumentTypeEnum = /*#__PURE__*/function (PPDocumentTypeEnum) {
164
+ PPDocumentTypeEnum["EFATURA"] = "EFATURA";
165
+ PPDocumentTypeEnum["EARSIV"] = "EARSIV";
166
+ PPDocumentTypeEnum["BILGIFISI"] = "BILGIFISI";
167
+ return PPDocumentTypeEnum;
168
+ }({});
169
+ export let PPDocumentStatusEnum = /*#__PURE__*/function (PPDocumentStatusEnum) {
170
+ PPDocumentStatusEnum["SUCCESS"] = "SUCCESS";
171
+ PPDocumentStatusEnum["CANCEL"] = "CANCEL";
172
+ PPDocumentStatusEnum["FAIL"] = "FAIL";
173
+ PPDocumentStatusEnum["WAITING"] = "WAITING";
174
+ PPDocumentStatusEnum["NONE"] = "NONE";
175
+ return PPDocumentStatusEnum;
176
+ }({});
177
+ export let PPOrderSourceEnum = /*#__PURE__*/function (PPOrderSourceEnum) {
178
+ PPOrderSourceEnum["POS"] = "POS";
179
+ PPOrderSourceEnum["WEB"] = "WEB";
180
+ PPOrderSourceEnum["KIOSK"] = "KIOSK";
181
+ return PPOrderSourceEnum;
182
+ }({});
183
+ export let PPTransactionTypeEnum = /*#__PURE__*/function (PPTransactionTypeEnum) {
184
+ PPTransactionTypeEnum["START"] = "START";
185
+ PPTransactionTypeEnum["SATIS"] = "SATIS";
186
+ PPTransactionTypeEnum["CANCEL"] = "CANCEL";
187
+ PPTransactionTypeEnum["REFUND"] = "REFUND";
188
+ return PPTransactionTypeEnum;
189
+ }({});
190
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PPTransactionType","PPPaymentType","PPPaymentMethod","PPPartialPaymentType","PPEodType","PPParameterTypes","PPCurrencyType","PPProductTypeEnum","PPQtyEnums","PPDiscountTypeEnum","PPDeliveryTypeEnum","PPDeliveryStatusEnum","PPOrderStatusEnum","PPTransactionStatusEnum","PPDocumentTypeEnum","PPDocumentStatusEnum","PPOrderSourceEnum","PPTransactionTypeEnum"],"sourceRoot":"../../../src","sources":["models/enums.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Thrown when POS+ returns an error (`error_code` / `error_message`) or when
5
+ * the A2A intent cannot be launched.
6
+ */
7
+ export class PPA2AException extends Error {
8
+ constructor(errorCode, message) {
9
+ super(message);
10
+ this.name = 'PPA2AException';
11
+ this.errorCode = errorCode;
12
+ // Restore prototype chain (TS target < ES2015 safety).
13
+ Object.setPrototypeOf(this, PPA2AException.prototype);
14
+ }
15
+ toString() {
16
+ return `PPA2AException(${this.errorCode}): ${this.message}`;
17
+ }
18
+ }
19
+ //# sourceMappingURL=exceptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PPA2AException","Error","constructor","errorCode","message","name","Object","setPrototypeOf","prototype","toString"],"sourceRoot":"../../../src","sources":["models/exceptions.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA,OAAO,MAAMA,cAAc,SAASC,KAAK,CAAC;EAGxCC,WAAWA,CAACC,SAAiB,EAAEC,OAAe,EAAE;IAC9C,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,gBAAgB;IAC5B,IAAI,CAACF,SAAS,GAAGA,SAAS;IAC1B;IACAG,MAAM,CAACC,cAAc,CAAC,IAAI,EAAEP,cAAc,CAACQ,SAAS,CAAC;EACvD;EAESC,QAAQA,CAAA,EAAW;IAC1B,OAAO,kBAAkB,IAAI,CAACN,SAAS,MAAM,IAAI,CAACC,OAAO,EAAE;EAC7D;AACF","ignoreList":[]}
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+
3
+ import { PPCurrencyType, PPDeliveryTypeEnum, PPTransactionType } from "./enums.js";
4
+
5
+ /** Raw A2A request envelope sent to POS+ (`{ data?, header }`). */
6
+
7
+ /** Formats a Date as `yyyy-MM-dd HH:mm` (the format POS+ expects). */
8
+ export function formatOrderDate(date) {
9
+ const pad = n => String(n).padStart(2, '0');
10
+ return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())} ` + `${pad(date.getHours())}:${pad(date.getMinutes())}`;
11
+ }
12
+ function header(transactionType, extra) {
13
+ return {
14
+ transaction_type: transactionType,
15
+ order_code: extra?.orderCode,
16
+ transaction_id: extra?.transactionId
17
+ };
18
+ }
19
+
20
+ // ---------------------------------------------------------------------------
21
+ // Billing & product sub-models
22
+ // ---------------------------------------------------------------------------
23
+
24
+ function billingToJson(b) {
25
+ if (!b) return undefined;
26
+ return {
27
+ name: b.name,
28
+ identity: b.identity,
29
+ phone: b.phone,
30
+ email: b.email,
31
+ address: b.address,
32
+ city: b.city,
33
+ district: b.district,
34
+ tax_office: b.taxOffice,
35
+ code: b.code
36
+ };
37
+ }
38
+
39
+ /** Simple product reference used by `startPayment`. */
40
+
41
+ /** Full product line used by `startMultiPayment`. */
42
+
43
+ function productToJson(p) {
44
+ return {
45
+ id: p.id,
46
+ sku: p.sku,
47
+ unit: p.unit,
48
+ price: p.price,
49
+ title: p.title,
50
+ quantity: p.quantity,
51
+ tax_rate: p.taxRate,
52
+ description: p.description,
53
+ vat_include: p.vatInclude,
54
+ product_type: p.productType,
55
+ discount_value: p.discountValue,
56
+ category_code: p.categoryCode,
57
+ category_name: p.categoryName,
58
+ discount_type: p.discountType,
59
+ exemption_code: p.exemptionCode,
60
+ otv_orani: p.otvOrani ?? 0,
61
+ konaklama_orani: p.konaklamaOrani ?? 0
62
+ };
63
+ }
64
+ function transactionToJson(t) {
65
+ return {
66
+ payment_type: t.paymentType,
67
+ total_amount: t.totalAmount,
68
+ payment_method: t.paymentMethod
69
+ };
70
+ }
71
+
72
+ // ---------------------------------------------------------------------------
73
+ // Request builders (`*.toRequest`)
74
+ // ---------------------------------------------------------------------------
75
+
76
+ export const PPStartPaymentRequestModel = {
77
+ toRequest(params) {
78
+ return {
79
+ data: {
80
+ payment_type: params.paymentType,
81
+ payment_method: params.paymentMethod,
82
+ total_amount: params.totalAmount,
83
+ installment: params.installment,
84
+ is_partial: params.isPartial ?? false,
85
+ partial_type: params.partialType,
86
+ products: (params.products ?? []).map(p => ({
87
+ id: p.id,
88
+ qty: p.qty ?? 1
89
+ })),
90
+ billing_information: billingToJson(params.billingInformation)
91
+ },
92
+ header: header(PPTransactionType.POST_PAYMENT_START, {
93
+ orderCode: params.orderCode
94
+ })
95
+ };
96
+ }
97
+ };
98
+ export const PPCancelPaymentRequestModel = {
99
+ toRequest(params) {
100
+ return {
101
+ data: {
102
+ transaction_id: params.transactionId,
103
+ note: params.note
104
+ },
105
+ header: header(PPTransactionType.POST_PAYMENT_CANCEL, {
106
+ orderCode: params.orderCode
107
+ })
108
+ };
109
+ }
110
+ };
111
+ export const PPEftPaymentRequestModel = {
112
+ toRequest(params) {
113
+ return {
114
+ data: {
115
+ total_amount: params.totalAmount,
116
+ payment_type: params.paymentType,
117
+ payment_method: params.paymentMethod,
118
+ transaction_id: params.transactionId,
119
+ tax_rate: params.taxRate,
120
+ installment: params.installment
121
+ },
122
+ header: header(PPTransactionType.POST_EFTPOS)
123
+ };
124
+ }
125
+ };
126
+ export const PPEftCancelRequestModel = {
127
+ toRequest(params) {
128
+ return {
129
+ data: {
130
+ total_amount: params.totalAmount
131
+ },
132
+ header: header(PPTransactionType.POST_EFTPOS_CANCEL, {
133
+ transactionId: params.transactionId
134
+ })
135
+ };
136
+ }
137
+ };
138
+ export const PPOrderPaymentRequestModel = {
139
+ toRequest(params) {
140
+ return {
141
+ header: header(PPTransactionType.ORDER_PAYMENT, {
142
+ orderCode: params.orderCode
143
+ })
144
+ };
145
+ }
146
+ };
147
+ export const PPEodRequestModel = {
148
+ toRequest(params) {
149
+ return {
150
+ data: {
151
+ types: params?.types ?? [],
152
+ is_all: params?.isAll ?? false
153
+ },
154
+ header: header(PPTransactionType.EOD)
155
+ };
156
+ }
157
+ };
158
+ export const PPParameterRequestModel = {
159
+ toRequest(params) {
160
+ return {
161
+ data: {
162
+ types: params?.types ?? [],
163
+ is_all: params?.isAll ?? false
164
+ },
165
+ header: header(PPTransactionType.PARAMETERS)
166
+ };
167
+ }
168
+ };
169
+ export const PPMultiPaymentRequest = {
170
+ toRequest(params) {
171
+ return {
172
+ data: {
173
+ note: params.note,
174
+ user_id: params.userId,
175
+ currency: params.currency ?? PPCurrencyType.TRY,
176
+ customer: billingToJson(params.billingInformation),
177
+ hash: params.hash,
178
+ products: params.products.map(productToJson),
179
+ group_code: params.groupCode,
180
+ order_code: params.orderCode,
181
+ order_date: formatOrderDate(params.orderDate),
182
+ start_time: params.startTime,
183
+ installment: params.installment,
184
+ order_number: params.orderNumber,
185
+ special_code: params.specialCode,
186
+ transactions: params.transactions.map(transactionToJson),
187
+ delivery_type: params.deliveryType ?? PPDeliveryTypeEnum.CASH_ORDER,
188
+ delivery_status: params.deliveryStatus,
189
+ discount_amount: params.discountAmount ?? 0,
190
+ change_payment_status: params.changePaymentStatus,
191
+ can_try_again: params.canTryAgain ?? true
192
+ },
193
+ header: header(PPTransactionType.ORDER_MULTI_PAYMENT)
194
+ };
195
+ }
196
+ };
197
+ //# sourceMappingURL=requests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PPCurrencyType","PPDeliveryTypeEnum","PPTransactionType","formatOrderDate","date","pad","n","String","padStart","getFullYear","getMonth","getDate","getHours","getMinutes","header","transactionType","extra","transaction_type","order_code","orderCode","transaction_id","transactionId","billingToJson","b","undefined","name","identity","phone","email","address","city","district","tax_office","taxOffice","code","productToJson","p","id","sku","unit","price","title","quantity","tax_rate","taxRate","description","vat_include","vatInclude","product_type","productType","discount_value","discountValue","category_code","categoryCode","category_name","categoryName","discount_type","discountType","exemption_code","exemptionCode","otv_orani","otvOrani","konaklama_orani","konaklamaOrani","transactionToJson","t","payment_type","paymentType","total_amount","totalAmount","payment_method","paymentMethod","PPStartPaymentRequestModel","toRequest","params","data","installment","is_partial","isPartial","partial_type","partialType","products","map","qty","billing_information","billingInformation","POST_PAYMENT_START","PPCancelPaymentRequestModel","note","POST_PAYMENT_CANCEL","PPEftPaymentRequestModel","POST_EFTPOS","PPEftCancelRequestModel","POST_EFTPOS_CANCEL","PPOrderPaymentRequestModel","ORDER_PAYMENT","PPEodRequestModel","types","is_all","isAll","EOD","PPParameterRequestModel","PARAMETERS","PPMultiPaymentRequest","user_id","userId","currency","TRY","customer","hash","group_code","groupCode","order_date","orderDate","start_time","startTime","order_number","orderNumber","special_code","specialCode","transactions","delivery_type","deliveryType","CASH_ORDER","delivery_status","deliveryStatus","discount_amount","discountAmount","change_payment_status","changePaymentStatus","can_try_again","canTryAgain","ORDER_MULTI_PAYMENT"],"sourceRoot":"../../../src","sources":["models/requests.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=responses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["models/responses.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1,25 @@
1
+ import { type TurboModule } from 'react-native';
2
+ /**
3
+ * Thin native bridge for PlusPay POS+ App2App (A2A).
4
+ *
5
+ * The bridge only transports raw JSON: it sends the A2A intent to POS+ and
6
+ * resolves with the raw response JSON received via BroadcastReceiver.
7
+ * All models / serialization live in TypeScript (see ./models).
8
+ */
9
+ export interface Spec extends TurboModule {
10
+ /**
11
+ * Registers the result BroadcastReceiver and returns app info as a JSON
12
+ * string: `{"packageName": "...", "activityName": "..."}`.
13
+ */
14
+ initialize(): Promise<string>;
15
+ /**
16
+ * Launches POS+ with the given request JSON and resolves with the raw
17
+ * response JSON string once POS+ broadcasts back the result.
18
+ */
19
+ sendRequest(requestJson: string): Promise<string>;
20
+ /** Unregisters the receiver and clears state. */
21
+ dispose(): Promise<void>;
22
+ }
23
+ declare const _default: Spec;
24
+ export default _default;
25
+ //# sourceMappingURL=NativePluspayA2aReactNative.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativePluspayA2aReactNative.d.ts","sourceRoot":"","sources":["../../../src/NativePluspayA2aReactNative.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAErE;;;;;;GAMG;AACH,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9B;;;OAGG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAElD,iDAAiD;IACjD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;;AAED,wBAA+E"}
@@ -0,0 +1,50 @@
1
+ import type { PPRequest } from './models/requests';
2
+ import type { PPEodResponse, PPMultiPaymentResponse, PPOrderPaymentResponse, PPParametersResponse, PPStartPaymentResponse } from './models/responses';
3
+ /**
4
+ * Main client for PlusPay POS+ App2App (A2A) integration (Android only).
5
+ *
6
+ * Usage:
7
+ * ```ts
8
+ * const pp = new PPA2AClient();
9
+ * await pp.initialize();
10
+ * try {
11
+ * const res = await pp.startPayment(
12
+ * PPStartPaymentRequestModel.toRequest({
13
+ * orderCode: 'ORD001',
14
+ * totalAmount: 100,
15
+ * paymentType: PPPaymentType.POS,
16
+ * paymentMethod: PPPaymentMethod.CC,
17
+ * }),
18
+ * );
19
+ * } catch (e) {
20
+ * if (e instanceof PPA2AException) console.log(e.errorCode, e.message);
21
+ * }
22
+ * ```
23
+ */
24
+ export declare class PPA2AClient {
25
+ private initialized;
26
+ packageName?: string;
27
+ activityName?: string;
28
+ /** Must be called once before any request. Registers the result receiver. */
29
+ initialize(): Promise<void>;
30
+ private send;
31
+ /** Start a payment on POS+. */
32
+ startPayment(request: PPRequest): Promise<PPStartPaymentResponse>;
33
+ /** Cancel a payment on POS+. */
34
+ cancelPayment(request: PPRequest): Promise<PPStartPaymentResponse>;
35
+ /** Start an EFT POS payment. */
36
+ startEftPayment(request: PPRequest): Promise<PPStartPaymentResponse>;
37
+ /** Cancel an EFT POS payment. */
38
+ cancelEftPayment(request: PPRequest): Promise<PPStartPaymentResponse>;
39
+ /** Start an order payment flow on POS+. */
40
+ startOrderPayment(request: PPRequest): Promise<PPOrderPaymentResponse>;
41
+ /** Start a multi payment flow on POS+. */
42
+ startMultiPayment(request: PPRequest): Promise<PPMultiPaymentResponse>;
43
+ /** Trigger end-of-day (EOD) on POS+. */
44
+ triggerEod(request: PPRequest): Promise<PPEodResponse>;
45
+ /** Trigger parameter update on POS+. */
46
+ triggerParameters(request: PPRequest): Promise<PPParametersResponse>;
47
+ /** Stop listening and clean up native resources. */
48
+ dispose(): Promise<void>;
49
+ }
50
+ //# sourceMappingURL=client.d.ts.map