@@ -848,17 +848,30 @@ let getHeaders = (
848848 ~customPodUri = None ,
849849 ~headers = Dict .make (),
850850 ~publishableKey = None ,
851+ ~clientSecret = None ,
852+ ~profileId = None ,
851853): Fetch .Headers .t => {
854+ let publishableKeyVal = publishableKey -> Option .map (key => key )-> Option .getOr ("invalid_key" )
855+ let profileIdVal = profileId -> Option .getOr ("invalid_key" )
856+ let clientSecretVal = clientSecret -> Option .getOr ("invalid_key" )
857+
852858 let defaultHeaders = [
853859 ("Content-Type" , "application/json" ),
854- ("api-key" , publishableKey -> Option .map (key => key )-> Option .getOr ("invalid_key" )),
855860 ("X-Client-Version" , Window .version ),
856861 ("X-Payment-Confirm-Source" , "sdk" ),
857862 ("X-Browser-Name" , HyperLogger .arrayOfNameAndVersion -> Array .get (0 )-> Option .getOr ("Others" )),
858863 ("X-Browser-Version" , HyperLogger .arrayOfNameAndVersion -> Array .get (1 )-> Option .getOr ("0" )),
859864 ("X-Client-Platform" , "web" ),
860865 ]
861866
867+ let authorizationHeaders = switch GlobalVars .sdkVersion {
868+ | V2 => [
869+ ("x-profile-id" , profileIdVal ),
870+ ("Authorization" , ` publishable-key=${publishableKeyVal},client-secret=${clientSecretVal}` ),
871+ ]
872+ | V1 => [("api-key" , publishableKey -> Option .map (key => key )-> Option .getOr ("invalid_key" ))]
873+ }
874+
862875 let authHeader = switch (token , uri ) {
863876 | (Some (tok ), Some (_ )) => [("Authorization" , tok )]
864877 | _ => []
@@ -871,6 +884,7 @@ let getHeaders = (
871884
872885 let finalHeaders = [
873886 ... defaultHeaders ,
887+ ... authorizationHeaders ,
874888 ... authHeader ,
875889 ... customPodHeader ,
876890 ... Dict .toArray (headers ),
@@ -949,16 +963,20 @@ let fetchApiWithLogging = async (
949963 ~publishableKey = None ,
950964 ~isPaymentSession = false ,
951965 ~onCatchCallback = None ,
966+ ~clientSecret = None ,
967+ ~profileId = None ,
952968) => {
953969 open LoggerUtils
954970
955971 // * Log request initiation
956- LogAPIResponse .logApiResponse (
957- ~logger ,
958- ~uri ,
959- ~eventName = apiEventInitMapper (eventName ),
960- ~status = Request ,
961- )
972+ if GlobalVars .sdkVersion != V2 {
973+ LogAPIResponse .logApiResponse (
974+ ~logger ,
975+ ~uri ,
976+ ~eventName = apiEventInitMapper (eventName ),
977+ ~status = Request ,
978+ )
979+ }
962980
963981 try {
964982 let body = switch method {
@@ -976,6 +994,8 @@ let fetchApiWithLogging = async (
976994 ~uri ,
977995 ~customPodUri ,
978996 ~publishableKey ,
997+ ~clientSecret ,
998+ ~profileId ,
979999 ),
9801000 },
9811001 )
@@ -984,26 +1004,30 @@ let fetchApiWithLogging = async (
9841004
9851005 if resp -> Fetch .Response .ok {
9861006 let data = await Fetch .Response .json (resp )
987- LogAPIResponse .logApiResponse (
988- ~logger ,
989- ~uri ,
990- ~eventName = Some (eventName ),
991- ~status = Success ,
992- ~statusCode ,
993- ~isPaymentSession ,
994- )
1007+ if GlobalVars .sdkVersion != V2 {
1008+ LogAPIResponse .logApiResponse (
1009+ ~logger ,
1010+ ~uri ,
1011+ ~eventName = Some (eventName ),
1012+ ~status = Success ,
1013+ ~statusCode ,
1014+ ~isPaymentSession ,
1015+ )
1016+ }
9951017 onSuccess (data )
9961018 } else {
9971019 let data = await resp -> Fetch .Response .json
998- LogAPIResponse .logApiResponse (
999- ~logger ,
1000- ~uri ,
1001- ~eventName = Some (eventName ),
1002- ~status = Error ,
1003- ~statusCode ,
1004- ~data ,
1005- ~isPaymentSession ,
1006- )
1020+ if GlobalVars .sdkVersion != V2 {
1021+ LogAPIResponse .logApiResponse (
1022+ ~logger ,
1023+ ~uri ,
1024+ ~eventName = Some (eventName ),
1025+ ~status = Error ,
1026+ ~statusCode ,
1027+ ~data ,
1028+ ~isPaymentSession ,
1029+ )
1030+ }
10071031 onFailure (data )
10081032 }
10091033 } catch {
@@ -1017,14 +1041,16 @@ let fetchApiWithLogging = async (
10171041 "error" : exceptionMessage ,
10181042 },
10191043 )
1020- LogAPIResponse .logApiResponse (
1021- ~logger ,
1022- ~uri ,
1023- ~eventName = Some (eventName ),
1024- ~status = Exception ,
1025- ~data = exceptionMessage ,
1026- ~isPaymentSession ,
1027- )
1044+ if GlobalVars .sdkVersion != V2 {
1045+ LogAPIResponse .logApiResponse (
1046+ ~logger ,
1047+ ~uri ,
1048+ ~eventName = Some (eventName ),
1049+ ~status = Exception ,
1050+ ~data = exceptionMessage ,
1051+ ~isPaymentSession ,
1052+ )
1053+ }
10281054 switch onCatchCallback {
10291055 | Some (fun ) => fun (exceptionMessage )
10301056 | None => onFailure (exceptionMessage )
0 commit comments