@@ -166,24 +166,25 @@ export async function POST(request: NextRequest) {
166166 // Handle different event types
167167 switch ( event . event ) {
168168 case 'transfer.success' : {
169- const existingRecord = getTransferStatus ( event . data . reference ) ;
169+ const data = event . data ?? { } ;
170+ const existingRecord = getTransferStatus ( data . reference ?? '' ) ;
170171 const updatedAt = new Date ( ) . toISOString ( ) ;
171172 telemetry . addLog ( span . spanId , 'info' , 'Processing transfer success' , {
172- reference : event . data . reference ,
173- amount : event . data . amount ,
174- recipient : event . data . recipient ,
175- status : event . data . status ,
173+ reference : data . reference ,
174+ amount : data . amount ,
175+ recipient : data . recipient ,
176+ status : data . status ,
176177 } ) ;
177178 console . log ( 'Transfer successful:' , {
178- reference : event . data . reference ,
179- amount : event . data . amount ,
180- recipient : event . data . recipient ,
181- status : event . data . status ,
179+ reference : data . reference ,
180+ amount : data . amount ,
181+ recipient : data . recipient ,
182+ status : data . status ,
182183 } ) ;
183184 const nextRecord = setTransferStatus ( {
184- reference : event . data . reference ,
185+ reference : data . reference ?? '' ,
185186 status : 'success' ,
186- amount : event . data . amount ,
187+ amount : data . amount ,
187188 updatedAt,
188189 clientSessionId : existingRecord ?. clientSessionId ,
189190 } ) ;
@@ -197,27 +198,28 @@ export async function POST(request: NextRequest) {
197198 }
198199
199200 case 'transfer.failed' : {
200- const existingRecord = getTransferStatus ( event . data . reference ) ;
201+ const data = event . data ?? { } ;
202+ const existingRecord = getTransferStatus ( data . reference ?? '' ) ;
201203 const updatedAt = new Date ( ) . toISOString ( ) ;
202204 telemetry . addLog ( span . spanId , 'warn' , 'Processing transfer failure' , {
203- reference : event . data . reference ,
204- amount : event . data . amount ,
205- recipient : event . data . recipient ,
206- status : event . data . status ,
207- failureReason : event . data . failure_reason ,
205+ reference : data . reference ,
206+ amount : data . amount ,
207+ recipient : data . recipient ,
208+ status : data . status ,
209+ failureReason : data . failure_reason ,
208210 } ) ;
209211 console . log ( 'Transfer failed:' , {
210- reference : event . data . reference ,
211- amount : event . data . amount ,
212- recipient : event . data . recipient ,
213- status : event . data . status ,
214- failure_reason : event . data . failure_reason ,
212+ reference : data . reference ,
213+ amount : data . amount ,
214+ recipient : data . recipient ,
215+ status : data . status ,
216+ failure_reason : data . failure_reason ,
215217 } ) ;
216218 const nextRecord = setTransferStatus ( {
217- reference : event . data . reference ,
219+ reference : data . reference ?? '' ,
218220 status : 'failed' ,
219- amount : event . data . amount ,
220- failureReason : event . data . failure_reason ,
221+ amount : data . amount ,
222+ failureReason : data . failure_reason ,
221223 updatedAt,
222224 clientSessionId : existingRecord ?. clientSessionId ,
223225 } ) ;
@@ -232,24 +234,25 @@ export async function POST(request: NextRequest) {
232234 }
233235
234236 case 'transfer.reversed' : {
235- const existingRecord = getTransferStatus ( event . data . reference ) ;
237+ const data = event . data ?? { } ;
238+ const existingRecord = getTransferStatus ( data . reference ?? '' ) ;
236239 const updatedAt = new Date ( ) . toISOString ( ) ;
237240 telemetry . addLog ( span . spanId , 'info' , 'Processing transfer reversal' , {
238- reference : event . data . reference ,
239- amount : event . data . amount ,
240- recipient : event . data . recipient ,
241- status : event . data . status ,
241+ reference : data . reference ,
242+ amount : data . amount ,
243+ recipient : data . recipient ,
244+ status : data . status ,
242245 } ) ;
243246 console . log ( 'Transfer reversed:' , {
244- reference : event . data . reference ,
245- amount : event . data . amount ,
246- recipient : event . data . recipient ,
247- status : event . data . status ,
247+ reference : data . reference ,
248+ amount : data . amount ,
249+ recipient : data . recipient ,
250+ status : data . status ,
248251 } ) ;
249252 const nextRecord = setTransferStatus ( {
250- reference : event . data . reference ,
253+ reference : data . reference ?? '' ,
251254 status : 'reversed' ,
252- amount : event . data . amount ,
255+ amount : data . amount ,
253256 updatedAt,
254257 clientSessionId : existingRecord ?. clientSessionId ,
255258 } ) ;
0 commit comments