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 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EACV,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAAS;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,6EAA6E;IACvE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAgBnB,IAAI;IAkClB,+BAA+B;IAC/B,YAAY,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAIjE,gCAAgC;IAChC,aAAa,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAIlE,gCAAgC;IAChC,eAAe,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAIpE,iCAAiC;IACjC,gBAAgB,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAIrE,2CAA2C;IAC3C,iBAAiB,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAItE,0CAA0C;IAC1C,iBAAiB,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAItE,wCAAwC;IACxC,UAAU,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAItD,wCAAwC;IACxC,iBAAiB,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAIpE,oDAAoD;IAC9C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAO/B"}
@@ -0,0 +1,6 @@
1
+ export { PPA2AClient } from './client';
2
+ export { PPA2AException } from './models/exceptions';
3
+ export * from './models/enums';
4
+ export * from './models/requests';
5
+ export * from './models/responses';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,169 @@
1
+ /**
2
+ * Enums for the POS+ A2A contract. Values are serialized by their constant
3
+ * name (e.g. `PPPaymentType.POS` -> `"POS"`); POS+ uses snake_case only for
4
+ * field names, not for enum values.
5
+ */
6
+ export declare enum PPTransactionType {
7
+ POST_PAYMENT_START = "POST_PAYMENT_START",
8
+ POST_PAYMENT_CANCEL = "POST_PAYMENT_CANCEL",
9
+ POST_EFTPOS = "POST_EFTPOS",
10
+ POST_EFTPOS_CANCEL = "POST_EFTPOS_CANCEL",
11
+ ORDER_PAYMENT = "ORDER_PAYMENT",
12
+ EOD = "EOD",
13
+ PARAMETERS = "PARAMETERS",
14
+ ORDER_MULTI_PAYMENT = "ORDER_MULTI_PAYMENT"
15
+ }
16
+ export declare enum PPPaymentType {
17
+ POS = "POS",
18
+ PAYCELL = "PAYCELL",
19
+ HEPSIPAY = "HEPSIPAY",
20
+ ISTANBULCARD = "ISTANBULCARD",
21
+ CASH = "CASH",
22
+ ONLINE = "ONLINE",
23
+ BANK_TRANSFER = "BANK_TRANSFER",
24
+ GASTROPAY = "GASTROPAY",
25
+ CIO_CARD = "CIO_CARD",
26
+ IWALLET = "IWALLET",
27
+ PAYE = "PAYE",
28
+ MULTINET = "MULTINET",
29
+ METROPOL = "METROPOL",
30
+ FASTPAY = "FASTPAY",
31
+ TICKET = "TICKET",
32
+ EDENRED = "EDENRED",
33
+ SETCARD = "SETCARD",
34
+ SODEXO = "SODEXO",
35
+ GETIRPAY = "GETIRPAY",
36
+ TOKENFLEX = "TOKENFLEX",
37
+ YEMEKMATIK = "YEMEKMATIK",
38
+ ON_CREDIT = "ON_CREDIT",
39
+ VIRTUAL_POS = "VIRTUAL_POS",
40
+ CUZDANPLUS = "CUZDANPLUS"
41
+ }
42
+ export declare enum PPPaymentMethod {
43
+ CC = "CC",
44
+ CASH = "CASH",
45
+ QR = "QR",
46
+ QR_R = "QR_R",
47
+ NFC = "NFC",
48
+ QUICKCODE = "QUICKCODE",
49
+ MOBILE = "MOBILE",
50
+ SWIPE = "SWIPE",
51
+ NONE = "NONE",
52
+ ONLINE = "ONLINE",
53
+ TRENDYOL = "TRENDYOL",
54
+ GETIR = "GETIR",
55
+ YEMEKSEPETI = "YEMEKSEPETI",
56
+ MIGROSYEMEK = "MIGROSYEMEK"
57
+ }
58
+ export declare enum PPPartialPaymentType {
59
+ AMOUNT = "AMOUNT",
60
+ PRODUCT = "PRODUCT"
61
+ }
62
+ export declare enum PPEodType {
63
+ POS = "POS",
64
+ CASH = "CASH",
65
+ BANK_TRANSFER = "BANK_TRANSFER",
66
+ ONLINE = "ONLINE",
67
+ OTHER = "OTHER",
68
+ MULTINET = "MULTINET",
69
+ SODEXO = "SODEXO",
70
+ SETCARD = "SETCARD",
71
+ TICKET = "TICKET",
72
+ METROPOL = "METROPOL",
73
+ PAYE = "PAYE",
74
+ TOKENFLEX = "TOKENFLEX",
75
+ EDENRED = "EDENRED",
76
+ CUZDANPLUS = "CUZDANPLUS",
77
+ IWALLET = "IWALLET"
78
+ }
79
+ export declare enum PPParameterTypes {
80
+ bank = "bank",
81
+ multinet = "multinet",
82
+ metropol = "metropol",
83
+ paye = "paye",
84
+ iwallet = "iwallet"
85
+ }
86
+ export declare enum PPCurrencyType {
87
+ TRY = "TRY",
88
+ USD = "USD",
89
+ EUR = "EUR",
90
+ GBP = "GBP"
91
+ }
92
+ export declare enum PPProductTypeEnum {
93
+ PHYSICALLY = "PHYSICALLY",
94
+ VIRTUAL = "VIRTUAL",
95
+ INFO = "INFO",
96
+ MD = "MD",
97
+ DSN = "DSN",
98
+ QP = "QP",
99
+ KFO = "KFO",
100
+ COMMISSION = "COMMISSION",
101
+ HGS = "HGS"
102
+ }
103
+ export declare enum PPQtyEnums {
104
+ ADET = "ADET",
105
+ KG = "KG",
106
+ GR = "GR",
107
+ LT = "LT",
108
+ MT = "MT",
109
+ KOLI = "KOLI",
110
+ PAKET = "PAKET",
111
+ PORSIYON = "PORSIYON"
112
+ }
113
+ export declare enum PPDiscountTypeEnum {
114
+ PERCENTAGE = "PERCENTAGE",
115
+ FIXED_AMOUNT = "FIXED_AMOUNT"
116
+ }
117
+ export declare enum PPDeliveryTypeEnum {
118
+ CASH_ORDER = "CASH_ORDER",
119
+ PACKAGE_ORDER = "PACKAGE_ORDER",
120
+ TABLE_ORDER = "TABLE_ORDER",
121
+ TAKE_AWAY = "TAKE_AWAY",
122
+ TAKE_CLOSE = "TAKE_CLOSE"
123
+ }
124
+ export declare enum PPDeliveryStatusEnum {
125
+ WAITING = "WAITING",
126
+ PREPREING = "PREPREING",
127
+ READY = "READY",
128
+ ONWAY = "ONWAY",
129
+ COMPLETE = "COMPLETE",
130
+ CANCEL = "CANCEL"
131
+ }
132
+ export declare enum PPOrderStatusEnum {
133
+ CANCEL = "CANCEL",
134
+ NOT_RESPONSE = "NOT_RESPONSE",
135
+ WAITING = "WAITING",
136
+ SUCCESS = "SUCCESS"
137
+ }
138
+ export declare enum PPTransactionStatusEnum {
139
+ SUCCESS = "SUCCESS",
140
+ CANCEL = "CANCEL",
141
+ FAIL = "FAIL",
142
+ NONE = "NONE",
143
+ WAITING = "WAITING",
144
+ NOT_RESPONSE = "NOT_RESPONSE"
145
+ }
146
+ export declare enum PPDocumentTypeEnum {
147
+ EFATURA = "EFATURA",
148
+ EARSIV = "EARSIV",
149
+ BILGIFISI = "BILGIFISI"
150
+ }
151
+ export declare enum PPDocumentStatusEnum {
152
+ SUCCESS = "SUCCESS",
153
+ CANCEL = "CANCEL",
154
+ FAIL = "FAIL",
155
+ WAITING = "WAITING",
156
+ NONE = "NONE"
157
+ }
158
+ export declare enum PPOrderSourceEnum {
159
+ POS = "POS",
160
+ WEB = "WEB",
161
+ KIOSK = "KIOSK"
162
+ }
163
+ export declare enum PPTransactionTypeEnum {
164
+ START = "START",
165
+ SATIS = "SATIS",
166
+ CANCEL = "CANCEL",
167
+ REFUND = "REFUND"
168
+ }
169
+ //# sourceMappingURL=enums.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../../src/models/enums.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Thrown when POS+ returns an error (`error_code` / `error_message`) or when
3
+ * the A2A intent cannot be launched.
4
+ */
5
+ export declare class PPA2AException extends Error {
6
+ readonly errorCode: string;
7
+ constructor(errorCode: string, message: string);
8
+ toString(): string;
9
+ }
10
+ //# sourceMappingURL=exceptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exceptions.d.ts","sourceRoot":"","sources":["../../../../src/models/exceptions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAQrC,QAAQ,IAAI,MAAM;CAG5B"}
@@ -0,0 +1,128 @@
1
+ import { PPCurrencyType, PPDeliveryStatusEnum, PPDeliveryTypeEnum, PPDiscountTypeEnum, PPEodType, PPParameterTypes, PPPartialPaymentType, PPPaymentMethod, PPPaymentType, PPProductTypeEnum, PPQtyEnums } from './enums';
2
+ /** Raw A2A request envelope sent to POS+ (`{ data?, header }`). */
3
+ export interface PPRequest {
4
+ data?: Record<string, any>;
5
+ header: Record<string, any>;
6
+ }
7
+ /** Formats a Date as `yyyy-MM-dd HH:mm` (the format POS+ expects). */
8
+ export declare function formatOrderDate(date: Date): string;
9
+ export interface PPBillingInfo {
10
+ name: string;
11
+ identity: string;
12
+ phone?: string;
13
+ email?: string;
14
+ address?: string;
15
+ city?: string;
16
+ district?: string;
17
+ taxOffice?: string;
18
+ code?: string;
19
+ }
20
+ /** Simple product reference used by `startPayment`. */
21
+ export interface PPProduct {
22
+ id: string;
23
+ qty?: number;
24
+ }
25
+ /** Full product line used by `startMultiPayment`. */
26
+ export interface ProductModel {
27
+ id: number;
28
+ sku: string;
29
+ unit: PPQtyEnums;
30
+ price: number;
31
+ title: string;
32
+ quantity: number;
33
+ taxRate: number;
34
+ vatInclude: boolean;
35
+ productType: PPProductTypeEnum;
36
+ discountValue: number;
37
+ description?: string;
38
+ categoryCode?: string;
39
+ categoryName?: string;
40
+ discountType?: PPDiscountTypeEnum;
41
+ exemptionCode?: string;
42
+ /** ÖTV oranı. Default 0. */
43
+ otvOrani?: number;
44
+ /** Konaklama oranı. Default 0. */
45
+ konaklamaOrani?: number;
46
+ }
47
+ export interface TransactionModel {
48
+ paymentType: PPPaymentType;
49
+ totalAmount: number;
50
+ paymentMethod?: PPPaymentMethod;
51
+ }
52
+ export declare const PPStartPaymentRequestModel: {
53
+ toRequest(params: {
54
+ orderCode: string;
55
+ paymentType: PPPaymentType;
56
+ paymentMethod: PPPaymentMethod;
57
+ totalAmount: number;
58
+ installment?: number;
59
+ isPartial?: boolean;
60
+ partialType?: PPPartialPaymentType;
61
+ products?: PPProduct[];
62
+ billingInformation?: PPBillingInfo;
63
+ }): PPRequest;
64
+ };
65
+ export declare const PPCancelPaymentRequestModel: {
66
+ toRequest(params: {
67
+ orderCode: string;
68
+ transactionId: string;
69
+ note?: string;
70
+ }): PPRequest;
71
+ };
72
+ export declare const PPEftPaymentRequestModel: {
73
+ toRequest(params: {
74
+ totalAmount: number;
75
+ paymentType: PPPaymentType;
76
+ paymentMethod: PPPaymentMethod;
77
+ transactionId: string;
78
+ taxRate: number;
79
+ installment?: number;
80
+ }): PPRequest;
81
+ };
82
+ export declare const PPEftCancelRequestModel: {
83
+ toRequest(params: {
84
+ transactionId: string;
85
+ totalAmount: number;
86
+ }): PPRequest;
87
+ };
88
+ export declare const PPOrderPaymentRequestModel: {
89
+ toRequest(params: {
90
+ orderCode: string;
91
+ }): PPRequest;
92
+ };
93
+ export declare const PPEodRequestModel: {
94
+ toRequest(params?: {
95
+ types?: PPEodType[];
96
+ isAll?: boolean;
97
+ }): PPRequest;
98
+ };
99
+ export declare const PPParameterRequestModel: {
100
+ toRequest(params?: {
101
+ types?: PPParameterTypes[];
102
+ isAll?: boolean;
103
+ }): PPRequest;
104
+ };
105
+ export declare const PPMultiPaymentRequest: {
106
+ toRequest(params: {
107
+ changePaymentStatus: boolean;
108
+ orderCode: string;
109
+ orderDate: Date;
110
+ products: ProductModel[];
111
+ transactions: TransactionModel[];
112
+ billingInformation?: PPBillingInfo;
113
+ groupCode?: string;
114
+ note?: string;
115
+ hash?: string;
116
+ orderNumber?: string;
117
+ userId?: string;
118
+ specialCode?: string;
119
+ startTime?: number;
120
+ discountAmount?: number;
121
+ currency?: PPCurrencyType;
122
+ deliveryStatus?: PPDeliveryStatusEnum;
123
+ deliveryType?: PPDeliveryTypeEnum;
124
+ installment?: number;
125
+ canTryAgain?: boolean;
126
+ }): PPRequest;
127
+ };
128
+ //# sourceMappingURL=requests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../../../src/models/requests.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Response models. POS+ returns snake_case JSON; these interfaces describe the
3
+ * fields as received (no key remapping) plus an index signature so any extra
4
+ * field POS+ adds stays accessible. Error responses are surfaced as
5
+ * `PPA2AException` by the client before these are returned.
6
+ */
7
+ export interface PPA2AResponse {
8
+ [key: string]: any;
9
+ }
10
+ export interface PPStartPaymentResponse extends PPA2AResponse {
11
+ status?: string;
12
+ order_code?: string;
13
+ total_amount?: number;
14
+ total_paid?: number;
15
+ amount_due?: number;
16
+ is_partial?: boolean;
17
+ partial_type?: string;
18
+ card_number_masked?: string;
19
+ rrn?: string;
20
+ payment_type?: string;
21
+ payment_method?: string;
22
+ }
23
+ export interface PPOrderPaymentResponse extends PPA2AResponse {
24
+ status?: string;
25
+ completed?: boolean;
26
+ order_code?: string;
27
+ total_amount?: number;
28
+ total_paid?: number;
29
+ amount_due?: number;
30
+ grand_total?: number;
31
+ results?: any[];
32
+ }
33
+ export interface PPEodResponse extends PPA2AResponse {
34
+ success?: boolean;
35
+ error_message?: string;
36
+ results?: any[];
37
+ }
38
+ export interface PPParametersResponse extends PPA2AResponse {
39
+ completed?: boolean;
40
+ error_message?: string;
41
+ results?: any[];
42
+ }
43
+ export interface PPMultiPaymentResponse extends PPA2AResponse {
44
+ order_code?: string;
45
+ status?: string;
46
+ grand_total?: number;
47
+ total_paid?: number;
48
+ products?: any[];
49
+ transactions?: any[];
50
+ }
51
+ //# sourceMappingURL=responses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../../../src/models/responses.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;CACtB"}
package/package.json ADDED
@@ -0,0 +1,127 @@
1
+ {
2
+ "name": "pluspay-a2a-react-native",
3
+ "version": "0.1.0",
4
+ "description": "PlusPay POS+ App2App (A2A) integration for React Native (Android)",
5
+ "main": "./lib/module/index.js",
6
+ "types": "./lib/typescript/src/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "source": "./src/index.tsx",
10
+ "types": "./lib/typescript/src/index.d.ts",
11
+ "default": "./lib/module/index.js"
12
+ },
13
+ "./package.json": "./package.json"
14
+ },
15
+ "files": [
16
+ "src",
17
+ "lib",
18
+ "android",
19
+ "ios",
20
+ "cpp",
21
+ "*.podspec",
22
+ "react-native.config.js",
23
+ "!ios/build",
24
+ "!android/build",
25
+ "!android/gradle",
26
+ "!android/gradlew",
27
+ "!android/gradlew.bat",
28
+ "!android/local.properties",
29
+ "!**/__tests__",
30
+ "!**/__fixtures__",
31
+ "!**/__mocks__",
32
+ "!**/.*"
33
+ ],
34
+ "scripts": {
35
+ "example": "yarn workspace pluspay_a2a_react_native-example",
36
+ "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
37
+ "prepare": "bob build",
38
+ "typecheck": "tsc",
39
+ "test": "jest"
40
+ },
41
+ "keywords": [
42
+ "react-native",
43
+ "ios",
44
+ "android"
45
+ ],
46
+ "repository": {
47
+ "type": "git",
48
+ "url": "git+https://github.com/plus-pay-tr/pluspay_a2a_react_native.git"
49
+ },
50
+ "author": "Fatih Can Yazici <yazicifatihcan@gmail.com> (https://github.com/plus-pay-tr)",
51
+ "license": "MIT",
52
+ "bugs": {
53
+ "url": "https://github.com/plus-pay-tr/pluspay_a2a_react_native/issues"
54
+ },
55
+ "homepage": "https://github.com/plus-pay-tr/pluspay_a2a_react_native#readme",
56
+ "publishConfig": {
57
+ "registry": "https://registry.npmjs.org/"
58
+ },
59
+ "devDependencies": {
60
+ "@jest/globals": "^30.0.0",
61
+ "@react-native/babel-preset": "0.85.0",
62
+ "@react-native/jest-preset": "0.85.0",
63
+ "@types/react": "^19.2.0",
64
+ "del-cli": "^7.0.0",
65
+ "jest": "^30.3.0",
66
+ "react": "19.2.3",
67
+ "react-native": "0.85.0",
68
+ "react-native-builder-bob": "^0.41.0",
69
+ "turbo": "^2.8.21",
70
+ "typescript": "^6.0.2"
71
+ },
72
+ "peerDependencies": {
73
+ "react": "*",
74
+ "react-native": "*"
75
+ },
76
+ "workspaces": [
77
+ "example"
78
+ ],
79
+ "resolutions": {
80
+ "jest-environment-node": "30.4.1",
81
+ "jest-mock": "30.4.1",
82
+ "@jest/environment": "30.4.1",
83
+ "@jest/fake-timers": "30.4.1"
84
+ },
85
+ "packageManager": "yarn@4.11.0",
86
+ "react-native-builder-bob": {
87
+ "source": "src",
88
+ "output": "lib",
89
+ "targets": [
90
+ [
91
+ "module",
92
+ {
93
+ "esm": true
94
+ }
95
+ ],
96
+ [
97
+ "typescript",
98
+ {
99
+ "project": "tsconfig.build.json"
100
+ }
101
+ ]
102
+ ]
103
+ },
104
+ "codegenConfig": {
105
+ "name": "PluspayA2aReactNativeSpec",
106
+ "type": "modules",
107
+ "jsSrcsDir": "src",
108
+ "android": {
109
+ "javaPackageName": "com.pluspaya2areactnative"
110
+ }
111
+ },
112
+ "jest": {
113
+ "preset": "@react-native/jest-preset",
114
+ "modulePathIgnorePatterns": [
115
+ "<rootDir>/example/node_modules",
116
+ "<rootDir>/lib/"
117
+ ]
118
+ },
119
+ "create-react-native-library": {
120
+ "type": "turbo-module",
121
+ "languages": "kotlin-objc",
122
+ "tools": [
123
+ "jest"
124
+ ],
125
+ "version": "0.62.0"
126
+ }
127
+ }
@@ -0,0 +1,27 @@
1
+ import { TurboModuleRegistry, type TurboModule } from 'react-native';
2
+
3
+ /**
4
+ * Thin native bridge for PlusPay POS+ App2App (A2A).
5
+ *
6
+ * The bridge only transports raw JSON: it sends the A2A intent to POS+ and
7
+ * resolves with the raw response JSON received via BroadcastReceiver.
8
+ * All models / serialization live in TypeScript (see ./models).
9
+ */
10
+ export interface Spec extends TurboModule {
11
+ /**
12
+ * Registers the result BroadcastReceiver and returns app info as a JSON
13
+ * string: `{"packageName": "...", "activityName": "..."}`.
14
+ */
15
+ initialize(): Promise<string>;
16
+
17
+ /**
18
+ * Launches POS+ with the given request JSON and resolves with the raw
19
+ * response JSON string once POS+ broadcasts back the result.
20
+ */
21
+ sendRequest(requestJson: string): Promise<string>;
22
+
23
+ /** Unregisters the receiver and clears state. */
24
+ dispose(): Promise<void>;
25
+ }
26
+
27
+ export default TurboModuleRegistry.getEnforcing<Spec>('PluspayA2aReactNative');