leonsuke

API Digisign Sign Doc

Aug 15th, 2019
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.14 KB | None | 0 0
  1. /***** ##### Main call function ##### *****/
  2. function digisign_sign_doc($con, $person_type, $cli_id){
  3. // Multipart settings
  4. $boundary = uniqid();
  5. $delimiter = 'XXX=FINTAG=XXX' . $boundary;
  6. $eol = "\r\n";
  7.  
  8. // Retreive static data
  9. $static = retrieve_static_data($con);
  10. // Set Static Token
  11. $token = $static->token;
  12. // Set Static Email
  13. $email_partner = $static->user_id;
  14. // Set Static Token AES
  15. $token_aes = $static->token_aes;
  16. // Set Static enable active registrasi
  17. $is_enabledactivatereg = $static->is_enabledactivatereg;
  18. // Set Static Is Demo
  19. $is_static = $static->is_demo;
  20. // Set Static Content Type
  21. // $contenttype = $static->contenttype;
  22. // Set Static User Agent
  23. $useragent = $static->useragent;
  24. // Set Static Sign URL
  25. $sign_url = $static->sign_url;
  26. // Set Static Main URL
  27. $main_url = $static->main_url;
  28.  
  29. // Retrieve dinamis data
  30. $data = retrieve_dinamis_data($con, $person_type, $cli_id);
  31.  
  32. // JSON Format
  33. $data_json = json_format($email_partner, $data, $boundary, $delimiter, $eol, $is_enabledactivatereg);
  34.  
  35. // echo "<pre>";
  36. // print_r($data_json);
  37. // echo "</pre>";
  38. // die;
  39.  
  40. // Set API Digisign Sign Doc
  41. $datasign = support_data_api_digisign_sign($data_json);
  42. if ($is_static == 0) {
  43. // Execute to digisign
  44. $authtoken = 'Authorization: Bearer ' . $token;
  45.  
  46. // Set Main URL
  47. $url = $main_url;
  48.  
  49. // Set Sign URL
  50. if ($sign_url == !''){
  51. $url = $url . '/' . $sign_url;
  52. }
  53.  
  54. // get_content_curl
  55. $status_act = get_content_url($url, $datareg, $authtoken, $contenttype, $useragent);
  56. // $status_act_json = json_decode($status_act, true);
  57.  
  58. // Example link
  59. $link = "https://app.tandatanganku.com/resultact.html?msg=bfFSeDa1hbRpxVVxoLMuKv1NKVC08HFuK5b7OX%2BB4o%2BLTK4yMuXiTdXkneN5EeYYt55XX9sAH%2FhA%0D%0APE7jaZa1IBMMPJq7MxlKrZmLyfVQGy%2BM3gB8GYGtJY7OjmE%2BaQexlBzpXOf20A8GZ4MFec0z3g%3D%3D";
  60.  
  61. // $link_response1 = array_converts($url);
  62. $link_response1 = array_converts($status_act);
  63.  
  64. // print_r($link_response1);
  65.  
  66. // Decrypt for URL callback
  67. $status_act_json = decrypt_response($token_aes, $url, '=');
  68.  
  69. // echo "<br><br><br>";
  70.  
  71. var_dump($link_response1);
  72. die;
  73.  
  74. // tambahkan pengujian jika return false
  75. // simpan di log, dan exit (die)
  76. if ($link_response1['result'] !== '00'){
  77. // ini butuh tampilan untuk admin BD melihat status eksekusi register digisign
  78. // store status into log :
  79. //table_log
  80. // id : auto number
  81. // date : current date
  82. // vendor : digisign
  83. // api_execute :
  84. // Exec_type : standar or callback , disini menggunakan standar
  85. // status : Gagal (0)
  86. // $current_date = date_create();
  87. // $vendor = 'Digisign';
  88. // $status = 0;
  89.  
  90. $current_date = date('Y-m-d H:i:s');
  91. $api_type = "Sign Document";
  92.  
  93. $stmt = $con->prepare('INSERT INTO fintagid_p2p_log (`date`, `apitype`) VALUES (?, ?)');
  94. $stmt->bindParam(1, $current_date);
  95. $stmt->bindParam(1, $api_type);
  96. if (!$stmt->execute()) {
  97. return false;
  98. }
  99. } else {
  100. // store status into log :
  101. //table_log
  102. // id : auto number
  103. // date : current date
  104. // vendor : digisign
  105. // api_execute :
  106. // Exec_type : standar or callback , disini menggunakan standar
  107. // status : berhasil (1)
  108. $current_date = date('Y-m-d H:i:s');
  109. $status = 1;
  110. $api_type = "Sign Document";
  111.  
  112. $stmt = $con->prepare('INSERT INTO fintagid_p2p_log (`date`, `status`, `apitype`) VALUES (?, ?, ?)');
  113. $stmt->bindParam(1, $current_date);
  114. $stmt->bindParam(2, $status);
  115. $stmt->bindParam(3, $api_type);
  116. if ($stmt->execute()) {
  117. $is_digisign_active = 2;
  118. $status_document_digisign = 2;
  119. update_data_dinamis($con, $person_type, $cli_id, $is_digisign_active, $status_document_digisign);
  120. }
  121. return $link_response1;
  122. }
  123. } elseif ($is_static == 1) {
  124. $data_json = array(
  125. "JSONFILE" => [
  126. "result" => 00,
  127. "notif" => "Tanda tangan document berhasil",
  128. "info" => "Anda berhasil melakukan tanda tangan document. Terima kasih."
  129. ]
  130. );
  131. return json_encode($data_json);
  132. } else {
  133. $data_json = array(
  134. "JSONFILE" => [
  135. "result" => 06,
  136. "notif" => "Tanda tangan document gagal",
  137. "info" => "Anda gagal melakukan tanda tangan document. Silahkan mencoba kembali! Terima kasih."
  138. ]
  139. );
  140. return json_encode($data_json);
  141. }
  142. }
Advertisement
Add Comment
Please, Sign In to add comment