whatsapp-docs-mcp 1.0.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 (406) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +181 -0
  3. package/dist/index.d.ts +3 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +65 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/prompts.d.ts +22 -0
  8. package/dist/prompts.d.ts.map +1 -0
  9. package/dist/prompts.js +305 -0
  10. package/dist/prompts.js.map +1 -0
  11. package/dist/resources.d.ts +24 -0
  12. package/dist/resources.d.ts.map +1 -0
  13. package/dist/resources.js +132 -0
  14. package/dist/resources.js.map +1 -0
  15. package/dist/tools.d.ts +6 -0
  16. package/dist/tools.d.ts.map +1 -0
  17. package/dist/tools.js +379 -0
  18. package/dist/tools.js.map +1 -0
  19. package/dist/utils/fileLoader.d.ts +19 -0
  20. package/dist/utils/fileLoader.d.ts.map +1 -0
  21. package/dist/utils/fileLoader.js +126 -0
  22. package/dist/utils/fileLoader.js.map +1 -0
  23. package/dist/utils/search.d.ts +27 -0
  24. package/dist/utils/search.d.ts.map +1 -0
  25. package/dist/utils/search.js +91 -0
  26. package/dist/utils/search.js.map +1 -0
  27. package/docs/QUICK_REFERENCE.md +223 -0
  28. package/docs/anuncios_com_clique_para_whatsapp/AGENTS.md +8 -0
  29. package/docs/anuncios_com_clique_para_whatsapp/welcome_message_sequences.md +449 -0
  30. package/docs/ativos_da_conta/AGENTS.md +9 -0
  31. package/docs/ativos_da_conta/outros_ativos/AGENTS.md +12 -0
  32. package/docs/ativos_da_conta/outros_ativos/business_profiles.md +137 -0
  33. package/docs/ativos_da_conta/outros_ativos/display_names.md +108 -0
  34. package/docs/ativos_da_conta/outros_ativos/official_business_accounts.md +123 -0
  35. package/docs/ativos_da_conta/outros_ativos/qr_codes.md +198 -0
  36. package/docs/ativos_da_conta/outros_ativos/whatsapp_business_accounts.md +99 -0
  37. package/docs/ativos_da_conta/telefones_comerciais/AGENTS.md +11 -0
  38. package/docs/ativos_da_conta/telefones_comerciais/conversational_components.md +347 -0
  39. package/docs/ativos_da_conta/telefones_comerciais/phone_numbers.md +486 -0
  40. package/docs/ativos_da_conta/telefones_comerciais/registration.md +171 -0
  41. package/docs/ativos_da_conta/telefones_comerciais/two_step_verification.md +66 -0
  42. package/docs/catalogos/AGENTS.md +12 -0
  43. package/docs/catalogos/receive_responses.md +28 -0
  44. package/docs/catalogos/sell_products_and_services.md +24 -0
  45. package/docs/catalogos/set_commerce_settings.md +163 -0
  46. package/docs/catalogos/share_products.md +401 -0
  47. package/docs/catalogos/upload_inventory.md +28 -0
  48. package/docs/comecar/AGENTS.md +8 -0
  49. package/docs/comecar/get_started.md +127 -0
  50. package/docs/dados_privacidade_e_politica/AGENTS.md +16 -0
  51. package/docs/dados_privacidade_e_politica/block_users.md +549 -0
  52. package/docs/dados_privacidade_e_politica/data_privacy_and_security.md +78 -0
  53. package/docs/dados_privacidade_e_politica/encryption.md +8 -0
  54. package/docs/dados_privacidade_e_politica/getting_opt_in.md +41 -0
  55. package/docs/dados_privacidade_e_politica/identity_change.md +34 -0
  56. package/docs/dados_privacidade_e_politica/local_storage.md +277 -0
  57. package/docs/dados_privacidade_e_politica/no_storage.md +132 -0
  58. package/docs/dados_privacidade_e_politica/policy_enforcement.md +85 -0
  59. package/docs/dados_privacidade_e_politica/policy_enforcement_violations.md +127 -0
  60. package/docs/grupos/AGENTS.md +15 -0
  61. package/docs/grupos/error_codes.md +170 -0
  62. package/docs/grupos/faq.md +30 -0
  63. package/docs/grupos/get_started.md +73 -0
  64. package/docs/grupos/groups.md +75 -0
  65. package/docs/grupos/groups_messaging.md +340 -0
  66. package/docs/grupos/pricing.md +322 -0
  67. package/docs/grupos/reference.md +1059 -0
  68. package/docs/grupos/webhooks.md +298 -0
  69. package/docs/index.md +318 -0
  70. package/docs/insights/AGENTS.md +8 -0
  71. package/docs/insights/analytics.md +944 -0
  72. package/docs/ligacoes/AGENTS.md +20 -0
  73. package/docs/ligacoes/app_review_guidelines.md +48 -0
  74. package/docs/ligacoes/business_initiated_calls.md +858 -0
  75. package/docs/ligacoes/call_button_messages_deep_links.md +454 -0
  76. package/docs/ligacoes/call_settings.md +643 -0
  77. package/docs/ligacoes/calling.md +130 -0
  78. package/docs/ligacoes/faq.md +468 -0
  79. package/docs/ligacoes/integration_patterns.md +121 -0
  80. package/docs/ligacoes/pricing.md +339 -0
  81. package/docs/ligacoes/reference.md +1923 -0
  82. package/docs/ligacoes/sip.md +1090 -0
  83. package/docs/ligacoes/troubleshooting.md +483 -0
  84. package/docs/ligacoes/user_call_permissions.md +672 -0
  85. package/docs/ligacoes/user_initiated_calls.md +1030 -0
  86. package/docs/mensagens/AGENTS.md +46 -0
  87. package/docs/mensagens/limites_de_mensagens/AGENTS.md +9 -0
  88. package/docs/mensagens/limites_de_mensagens/messaging_limits.md +91 -0
  89. package/docs/mensagens/limites_de_mensagens/upcoming_changes.md +8 -0
  90. package/docs/mensagens/recursos_adicionais/AGENTS.md +13 -0
  91. package/docs/mensagens/recursos_adicionais/contextual_replies.md +82 -0
  92. package/docs/mensagens/recursos_adicionais/link_previews.md +58 -0
  93. package/docs/mensagens/recursos_adicionais/mark_message_as_read.md +111 -0
  94. package/docs/mensagens/recursos_adicionais/media.md +419 -0
  95. package/docs/mensagens/recursos_adicionais/payload_encryption.md +8 -0
  96. package/docs/mensagens/recursos_adicionais/typing_indicators.md +117 -0
  97. package/docs/mensagens/tipos_de_mensagens/AGENTS.md +24 -0
  98. package/docs/mensagens/tipos_de_mensagens/address_messages.md +465 -0
  99. package/docs/mensagens/tipos_de_mensagens/audio_messages.md +211 -0
  100. package/docs/mensagens/tipos_de_mensagens/contacts_messages.md +482 -0
  101. package/docs/mensagens/tipos_de_mensagens/document_messages.md +232 -0
  102. package/docs/mensagens/tipos_de_mensagens/image_messages.md +176 -0
  103. package/docs/mensagens/tipos_de_mensagens/interactive_cta_url_messages.md +240 -0
  104. package/docs/mensagens/tipos_de_mensagens/interactive_flow_messages.md +8 -0
  105. package/docs/mensagens/tipos_de_mensagens/interactive_list_messages.md +300 -0
  106. package/docs/mensagens/tipos_de_mensagens/interactive_reply_buttons_messages.md +271 -0
  107. package/docs/mensagens/tipos_de_mensagens/location_messages.md +156 -0
  108. package/docs/mensagens/tipos_de_mensagens/location_request_messages.md +310 -0
  109. package/docs/mensagens/tipos_de_mensagens/message_with_link.md +8 -0
  110. package/docs/mensagens/tipos_de_mensagens/reaction_messages.md +144 -0
  111. package/docs/mensagens/tipos_de_mensagens/sticker_messages.md +157 -0
  112. package/docs/mensagens/tipos_de_mensagens/template_messages.md +20 -0
  113. package/docs/mensagens/tipos_de_mensagens/text_messages.md +142 -0
  114. package/docs/mensagens/tipos_de_mensagens/video_messages.md +149 -0
  115. package/docs/mensagens/visao_geral/AGENTS.md +8 -0
  116. package/docs/mensagens/visao_geral/send_messages.md +370 -0
  117. package/docs/mensagens_de_marketing/AGENTS.md +10 -0
  118. package/docs/mensagens_de_marketing/implementacao/AGENTS.md +10 -0
  119. package/docs/mensagens_de_marketing/implementacao/get_started.md +107 -0
  120. package/docs/mensagens_de_marketing/implementacao/onboard_business_customers.md +180 -0
  121. package/docs/mensagens_de_marketing/implementacao/send_marketing_messages.md +260 -0
  122. package/docs/mensagens_de_marketing/recursos/AGENTS.md +12 -0
  123. package/docs/mensagens_de_marketing/recursos/automatic_creative_optimization.md +8 -0
  124. package/docs/mensagens_de_marketing/recursos/conversion_measurement.md +8 -0
  125. package/docs/mensagens_de_marketing/recursos/deep_links.md +302 -0
  126. package/docs/mensagens_de_marketing/recursos/track_click_events.md +119 -0
  127. package/docs/mensagens_de_marketing/recursos/view_metrics.md +338 -0
  128. package/docs/mensagens_de_marketing/visao_geral/AGENTS.md +8 -0
  129. package/docs/mensagens_de_marketing/visao_geral/overview.md +26 -0
  130. package/docs/modelos/AGENTS.md +12 -0
  131. package/docs/modelos/gerenciamento_de_modelos/AGENTS.md +21 -0
  132. package/docs/modelos/gerenciamento_de_modelos/components.md +717 -0
  133. package/docs/modelos/gerenciamento_de_modelos/supported_languages.md +462 -0
  134. package/docs/modelos/gerenciamento_de_modelos/tap_target_url_title_override.md +211 -0
  135. package/docs/modelos/gerenciamento_de_modelos/template_categorization.md +499 -0
  136. package/docs/modelos/gerenciamento_de_modelos/template_comparison.md +136 -0
  137. package/docs/modelos/gerenciamento_de_modelos/template_library.md +526 -0
  138. package/docs/modelos/gerenciamento_de_modelos/template_management.md +148 -0
  139. package/docs/modelos/gerenciamento_de_modelos/template_media.md +8 -0
  140. package/docs/modelos/gerenciamento_de_modelos/template_migration.md +164 -0
  141. package/docs/modelos/gerenciamento_de_modelos/template_pacing.md +38 -0
  142. package/docs/modelos/gerenciamento_de_modelos/template_pausing.md +58 -0
  143. package/docs/modelos/gerenciamento_de_modelos/template_quality.md +47 -0
  144. package/docs/modelos/gerenciamento_de_modelos/template_review.md +74 -0
  145. package/docs/modelos/gerenciamento_de_modelos/time_to_live.md +88 -0
  146. package/docs/modelos/modelos_de_autenticacao/AGENTS.md +13 -0
  147. package/docs/modelos/modelos_de_autenticacao/authentication_best_practices.md +73 -0
  148. package/docs/modelos/modelos_de_autenticacao/authentication_templates.md +252 -0
  149. package/docs/modelos/modelos_de_autenticacao/autofill_button_authentication_templates.md +732 -0
  150. package/docs/modelos/modelos_de_autenticacao/copy_code_button_authentication_templates.md +402 -0
  151. package/docs/modelos/modelos_de_autenticacao/error_signals.md +143 -0
  152. package/docs/modelos/modelos_de_autenticacao/zero_tap_authentication_templates.md +742 -0
  153. package/docs/modelos/modelos_de_marketing/AGENTS.md +18 -0
  154. package/docs/modelos/modelos_de_marketing/call_permission_request_message_template.md +221 -0
  155. package/docs/modelos/modelos_de_marketing/catalog_templates.md +308 -0
  156. package/docs/modelos/modelos_de_marketing/coupon_templates.md +425 -0
  157. package/docs/modelos/modelos_de_marketing/custom_marketing_templates.md +537 -0
  158. package/docs/modelos/modelos_de_marketing/limited_time_offer_templates.md +496 -0
  159. package/docs/modelos/modelos_de_marketing/marketing_templates.md +112 -0
  160. package/docs/modelos/modelos_de_marketing/media_card_carousel_templates.md +770 -0
  161. package/docs/modelos/modelos_de_marketing/mpm_templates.md +717 -0
  162. package/docs/modelos/modelos_de_marketing/per_user_limits.md +42 -0
  163. package/docs/modelos/modelos_de_marketing/product_card_carousel_templates.md +515 -0
  164. package/docs/modelos/modelos_de_marketing/spm_templates.md +466 -0
  165. package/docs/modelos/modelos_de_utilidade/AGENTS.md +8 -0
  166. package/docs/modelos/modelos_de_utilidade/utility_templates.md +583 -0
  167. package/docs/modelos/visao_geral/AGENTS.md +8 -0
  168. package/docs/modelos/visao_geral/overview.md +163 -0
  169. package/docs/pagamentos/AGENTS.md +9 -0
  170. package/docs/pagamentos/pagamentos_na_india/AGENTS.md +19 -0
  171. package/docs/pagamentos/pagamentos_na_india/checkout_button_templates.md +1332 -0
  172. package/docs/pagamentos/pagamentos_na_india/enhanced_payment_links.md +93 -0
  173. package/docs/pagamentos/pagamentos_na_india/onboarding_apis.md +580 -0
  174. package/docs/pagamentos/pagamentos_na_india/orderdetailstemplate.md +205 -0
  175. package/docs/pagamentos/pagamentos_na_india/orderstatustemplate.md +143 -0
  176. package/docs/pagamentos/pagamentos_na_india/overview.md +102 -0
  177. package/docs/pagamentos/pagamentos_na_india/payment_links.md +581 -0
  178. package/docs/pagamentos/pagamentos_na_india/pg.md +1228 -0
  179. package/docs/pagamentos/pagamentos_na_india/upi_intent/AGENTS.md +12 -0
  180. package/docs/pagamentos/pagamentos_na_india/upi_intent/dynamic_vpa.md +572 -0
  181. package/docs/pagamentos/pagamentos_na_india/upi_intent/pg_guide_billdesk.md +343 -0
  182. package/docs/pagamentos/pagamentos_na_india/upi_intent/pg_guide_cashfree.md +145 -0
  183. package/docs/pagamentos/pagamentos_na_india/upi_intent/pg_guide_ccavenue.md +146 -0
  184. package/docs/pagamentos/pagamentos_na_india/upi_intent/upi_intent.md +660 -0
  185. package/docs/pagamentos/pagamentos_no_brasil/AGENTS.md +14 -0
  186. package/docs/pagamentos/pagamentos_no_brasil/boleto.md +104 -0
  187. package/docs/pagamentos/pagamentos_no_brasil/offsite_pix.md +128 -0
  188. package/docs/pagamentos/pagamentos_no_brasil/one_click_payments.md +226 -0
  189. package/docs/pagamentos/pagamentos_no_brasil/orderdetailstemplate.md +180 -0
  190. package/docs/pagamentos/pagamentos_no_brasil/orders.md +768 -0
  191. package/docs/pagamentos/pagamentos_no_brasil/overview.md +32 -0
  192. package/docs/pagamentos/pagamentos_no_brasil/payment_links.md +104 -0
  193. package/docs/parceiros/AGENTS.md +12 -0
  194. package/docs/parceiros/analise_do_app/AGENTS.md +8 -0
  195. package/docs/parceiros/analise_do_app/app_review.md +91 -0
  196. package/docs/parceiros/gerenciamento/AGENTS.md +14 -0
  197. package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/AGENTS.md +15 -0
  198. package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/manage_accounts.md +274 -0
  199. package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/manage_system_users.md +106 -0
  200. package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/manage_webhooks.md +277 -0
  201. package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/numeros_de_telefone/AGENTS.md +9 -0
  202. package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/numeros_de_telefone/manage_phone_numbers.md +248 -0
  203. package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/numeros_de_telefone/registering_phone_numbers.md +373 -0
  204. package/docs/parceiros/gerenciamento/gerenciar_ativos_do_cliente/share_and_revoke_credit_lines.md +551 -0
  205. package/docs/parceiros/gerenciamento/partner_led_business_verification.md +367 -0
  206. package/docs/parceiros/gerenciamento/pixel_tracking.md +35 -0
  207. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/AGENTS.md +18 -0
  208. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/adding_waba_to_mps.md +64 -0
  209. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/business_customer_support.md +102 -0
  210. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_customers_off_solutions_via_embedded_signup.md +151 -0
  211. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_customers_off_solutions_via_meta_business_suite.md +234 -0
  212. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_phone_numbers_among_solution_partners_programmatically.md +292 -0
  213. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_phone_numbers_among_solution_partners_via_embedded_signup.md +118 -0
  214. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_wabas_among_solution_partners_via_embedded_signup.md +76 -0
  215. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_wabas_among_solutions_via_embedded_signup.md +90 -0
  216. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/migrating_wabas_among_solutions_via_meta_business_suite.md +265 -0
  217. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/support.md +48 -0
  218. package/docs/parceiros/gerenciamento/suporte_ao_parceiro/transferring_wabas_to_customers.md +8 -0
  219. package/docs/parceiros/integracao_de_clientes/AGENTS.md +9 -0
  220. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/AGENTS.md +26 -0
  221. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/app_only_install.md +135 -0
  222. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/automatic_events_api.md +204 -0
  223. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/bypass_phone_addition.md +52 -0
  224. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/custom_flows.md +40 -0
  225. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/default_flow.md +90 -0
  226. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/errors.md +185 -0
  227. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/hosted_es.md +153 -0
  228. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/implementation.md +417 -0
  229. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/onboarding_business_app_users.md +926 -0
  230. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/onboarding_customers_as_a_solution_partner.md +402 -0
  231. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/onboarding_customers_as_a_tech_provider.md +332 -0
  232. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/overview.md +168 -0
  233. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/pre_filled_data.md +524 -0
  234. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/pre_verified_numbers.md +291 -0
  235. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/AGENTS.md +12 -0
  236. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/version_2_public_preview.md +88 -0
  237. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/version_3.md +98 -0
  238. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/version_3_public_preview.md +88 -0
  239. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/version_4.md +92 -0
  240. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/versions/versions.md +463 -0
  241. package/docs/parceiros/integracao_de_clientes/cadastro_incorporado/website_optional.md +57 -0
  242. package/docs/parceiros/integracao_de_clientes/outras_opcoes_de_integracao/AGENTS.md +11 -0
  243. package/docs/parceiros/integracao_de_clientes/outras_opcoes_de_integracao/multi_partner_solution_embedded_creation.md +178 -0
  244. package/docs/parceiros/integracao_de_clientes/outras_opcoes_de_integracao/multi_partner_solutions.md +775 -0
  245. package/docs/parceiros/integracao_de_clientes/outras_opcoes_de_integracao/multi_solution_conversations.md +319 -0
  246. package/docs/parceiros/integracao_de_clientes/outras_opcoes_de_integracao/partner_initiated_waba_creation.md +74 -0
  247. package/docs/parceiros/seja_um_parceiro/AGENTS.md +11 -0
  248. package/docs/parceiros/seja_um_parceiro/get_started_for_solution_partners.md +280 -0
  249. package/docs/parceiros/seja_um_parceiro/get_started_for_tech_providers.md +194 -0
  250. package/docs/parceiros/seja_um_parceiro/measurement_partners.md +146 -0
  251. package/docs/parceiros/seja_um_parceiro/upgrade_to_tech_partner.md +94 -0
  252. package/docs/parceiros/visao_geral/AGENTS.md +8 -0
  253. package/docs/parceiros/visao_geral/overview.md +190 -0
  254. package/docs/recado/AGENTS.md +9 -0
  255. package/docs/recado/precos/AGENTS.md +11 -0
  256. package/docs/recado/precos/pricing.md +915 -0
  257. package/docs/recado/precos/pricing_authentication_international_rates.md +464 -0
  258. package/docs/recado/precos/pricing_conversation_based_pricing.md +773 -0
  259. package/docs/recado/precos/pricing_updates_to_pricing.md +8 -0
  260. package/docs/recado/sobre_a_plataforma/AGENTS.md +10 -0
  261. package/docs/recado/sobre_a_plataforma/about_the_platform.md +217 -0
  262. package/docs/recado/sobre_a_plataforma/access_tokens.md +110 -0
  263. package/docs/recado/sobre_a_plataforma/permissions.md +55 -0
  264. package/docs/referencia/AGENTS.md +92 -0
  265. package/docs/referencia/bot_do_whatsapp_business/AGENTS.md +8 -0
  266. package/docs/referencia/bot_do_whatsapp_business/bot_details_api.md +762 -0
  267. package/docs/referencia/business/AGENTS.md +14 -0
  268. package/docs/referencia/business/add_phone_numbers_api.md +726 -0
  269. package/docs/referencia/business/client_whatsapp_business_accounts_api.md +1006 -0
  270. package/docs/referencia/business/owned_whatsapp_business_accounts.md +802 -0
  271. package/docs/referencia/business/whatsapp_business_accounts_api.md +1550 -0
  272. package/docs/referencia/business/whatsapp_business_partner_onboarding_to_mm_lite_api.md +783 -0
  273. package/docs/referencia/business/whatsapp_business_pre_verified_phone_number_sharing_api.md +790 -0
  274. package/docs/referencia/business/whatsapp_business_pre_verified_phone_numbers_api.md +886 -0
  275. package/docs/referencia/changelog.md +10 -0
  276. package/docs/referencia/conta_do_whatsapp_business/AGENTS.md +24 -0
  277. package/docs/referencia/conta_do_whatsapp_business/assigned_users_management_api.md +2202 -0
  278. package/docs/referencia/conta_do_whatsapp_business/business_account_api.md +267 -0
  279. package/docs/referencia/conta_do_whatsapp_business/business_account_extended_credits_api.md +275 -0
  280. package/docs/referencia/conta_do_whatsapp_business/conversational_automation_api.md +782 -0
  281. package/docs/referencia/conta_do_whatsapp_business/flows_api.md +1532 -0
  282. package/docs/referencia/conta_do_whatsapp_business/in_progress_on_behalf_requests_api.md +8 -0
  283. package/docs/referencia/conta_do_whatsapp_business/migration_intent_api.md +1581 -0
  284. package/docs/referencia/conta_do_whatsapp_business/obo_mobility_intent_api.md +8 -0
  285. package/docs/referencia/conta_do_whatsapp_business/phone_number_management_api.md +1686 -0
  286. package/docs/referencia/conta_do_whatsapp_business/schedules_api.md +1772 -0
  287. package/docs/referencia/conta_do_whatsapp_business/set_obo_mobility_intent_api.md +8 -0
  288. package/docs/referencia/conta_do_whatsapp_business/set_solution_migration_intent_api.md +8 -0
  289. package/docs/referencia/conta_do_whatsapp_business/subscribed_apps_api.md +2178 -0
  290. package/docs/referencia/conta_do_whatsapp_business/template_api.md +976 -0
  291. package/docs/referencia/conta_do_whatsapp_business/whatsapp_business_account_activities_api.md +842 -0
  292. package/docs/referencia/conta_do_whatsapp_business/whatsapp_business_account_api.md +1384 -0
  293. package/docs/referencia/conta_do_whatsapp_business/whatsapp_business_account_solutions_list_api.md +854 -0
  294. package/docs/referencia/grupo/AGENTS.md +11 -0
  295. package/docs/referencia/grupo/groups_invite_link_api.md +304 -0
  296. package/docs/referencia/grupo/groups_join_requests_api.md +686 -0
  297. package/docs/referencia/grupo/groups_participants_api.md +274 -0
  298. package/docs/referencia/grupo/groups_query_api.md +436 -0
  299. package/docs/referencia/historico_de_mensagens/AGENTS.md +8 -0
  300. package/docs/referencia/historico_de_mensagens/whatsapp_business_message_history_events_api.md +866 -0
  301. package/docs/referencia/inscricao/AGENTS.md +10 -0
  302. package/docs/referencia/inscricao/application_connected_client_businesses.md +812 -0
  303. package/docs/referencia/inscricao/application_solutions_api.md +874 -0
  304. package/docs/referencia/inscricao/solution_creation_api.md +824 -0
  305. package/docs/referencia/intencao_de_migracao_da_conta_do_whatsapp_business/AGENTS.md +8 -0
  306. package/docs/referencia/intencao_de_migracao_da_conta_do_whatsapp_business/migration_intent_details_api.md +724 -0
  307. package/docs/referencia/midias/AGENTS.md +9 -0
  308. package/docs/referencia/midias/media_api.md +342 -0
  309. package/docs/referencia/midias/media_download_api.md +160 -0
  310. package/docs/referencia/numero_da_conta_do_whatsapp/AGENTS.md +8 -0
  311. package/docs/referencia/numero_da_conta_do_whatsapp/whatsapp_account_number_api.md +778 -0
  312. package/docs/referencia/perfil_do_whatsapp_business/AGENTS.md +8 -0
  313. package/docs/referencia/perfil_do_whatsapp_business/whatsapp_business_profile_node_api.md +1494 -0
  314. package/docs/referencia/solucao_do_whatsapp_business/AGENTS.md +14 -0
  315. package/docs/referencia/solucao_do_whatsapp_business/accept_deactivation_request_api.md +762 -0
  316. package/docs/referencia/solucao_do_whatsapp_business/access_token_api.md +704 -0
  317. package/docs/referencia/solucao_do_whatsapp_business/reject_deactivation_request_api.md +812 -0
  318. package/docs/referencia/solucao_do_whatsapp_business/send_deactivation_request_api.md +778 -0
  319. package/docs/referencia/solucao_do_whatsapp_business/solution_accept_api.md +812 -0
  320. package/docs/referencia/solucao_do_whatsapp_business/solution_details_api.md +768 -0
  321. package/docs/referencia/solucao_do_whatsapp_business/solution_reject_api.md +798 -0
  322. package/docs/referencia/telefone_do_whatsapp_business/AGENTS.md +29 -0
  323. package/docs/referencia/telefone_do_whatsapp_business/block_api.md +542 -0
  324. package/docs/referencia/telefone_do_whatsapp_business/business_compliance_information_api.md +1608 -0
  325. package/docs/referencia/telefone_do_whatsapp_business/business_encryption_api.md +1402 -0
  326. package/docs/referencia/telefone_do_whatsapp_business/calling_api.md +598 -0
  327. package/docs/referencia/telefone_do_whatsapp_business/encrypted_messages_api.md +482 -0
  328. package/docs/referencia/telefone_do_whatsapp_business/groups_management_api.md +485 -0
  329. package/docs/referencia/telefone_do_whatsapp_business/marketing_messages_lite_api.md +315 -0
  330. package/docs/referencia/telefone_do_whatsapp_business/media_upload_api.md +188 -0
  331. package/docs/referencia/telefone_do_whatsapp_business/message_api.md +1798 -0
  332. package/docs/referencia/telefone_do_whatsapp_business/phone_number_api.md +377 -0
  333. package/docs/referencia/telefone_do_whatsapp_business/phone_number_deregister_api.md +714 -0
  334. package/docs/referencia/telefone_do_whatsapp_business/phone_number_registration.md +780 -0
  335. package/docs/referencia/telefone_do_whatsapp_business/phone_number_verification_request_code_api.md +734 -0
  336. package/docs/referencia/telefone_do_whatsapp_business/register_api.md +411 -0
  337. package/docs/referencia/telefone_do_whatsapp_business/settings_api.md +674 -0
  338. package/docs/referencia/telefone_do_whatsapp_business/verify_code_api.md +746 -0
  339. package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_account_message_history_api.md +932 -0
  340. package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_account_official_business_account_status_api.md +1540 -0
  341. package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_account_phone_number_api.md +1600 -0
  342. package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_profile_api.md +1478 -0
  343. package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_qr_code_api.md +1179 -0
  344. package/docs/referencia/telefone_do_whatsapp_business/whatsapp_business_qr_code_management_api.md +1315 -0
  345. package/docs/referencia/telefone_pre_verificado_do_whatsapp_business/AGENTS.md +11 -0
  346. package/docs/referencia/telefone_pre_verificado_do_whatsapp_business/request_verification_code_api.md +778 -0
  347. package/docs/referencia/telefone_pre_verificado_do_whatsapp_business/verify_code_api.md +768 -0
  348. package/docs/referencia/telefone_pre_verificado_do_whatsapp_business/whatsapp_business_pre_verified_phone_number_api.md +1382 -0
  349. package/docs/referencia/telefone_pre_verificado_do_whatsapp_business/whatsapp_business_pre_verified_phone_number_partners_api.md +820 -0
  350. package/docs/referencia/usuario/AGENTS.md +8 -0
  351. package/docs/referencia/usuario/assigned_whatsapp_business_accounts_api.md +864 -0
  352. package/docs/referencia/webhooks/AGENTS.md +8 -0
  353. package/docs/referencia/webhooks/whatsapp_incoming_webhook_payload.md +1655 -0
  354. package/docs/suporte/AGENTS.md +13 -0
  355. package/docs/suporte/api_status_page.md +134 -0
  356. package/docs/suporte/error_codes.md +1194 -0
  357. package/docs/suporte/experiments.md +26 -0
  358. package/docs/suporte/health_status.md +225 -0
  359. package/docs/suporte/load_testing.md +340 -0
  360. package/docs/suporte/support.md +408 -0
  361. package/docs/visao_geral/AGENTS.md +8 -0
  362. package/docs/visao_geral/overview.md +2590 -0
  363. package/docs/webhooks/AGENTS.md +41 -0
  364. package/docs/webhooks/referencia/AGENTS.md +20 -0
  365. package/docs/webhooks/referencia/account_alerts.md +190 -0
  366. package/docs/webhooks/referencia/account_review_update.md +90 -0
  367. package/docs/webhooks/referencia/account_update.md +379 -0
  368. package/docs/webhooks/referencia/business_capability_update.md +121 -0
  369. package/docs/webhooks/referencia/history.md +302 -0
  370. package/docs/webhooks/referencia/message_template_components_update.md +179 -0
  371. package/docs/webhooks/referencia/message_template_quality_update.md +136 -0
  372. package/docs/webhooks/referencia/message_template_status_update.md +253 -0
  373. package/docs/webhooks/referencia/messages/AGENTS.md +24 -0
  374. package/docs/webhooks/referencia/messages/audio.md +298 -0
  375. package/docs/webhooks/referencia/messages/button.md +170 -0
  376. package/docs/webhooks/referencia/messages/contacts.md +491 -0
  377. package/docs/webhooks/referencia/messages/document.md +307 -0
  378. package/docs/webhooks/referencia/messages/errors.md +132 -0
  379. package/docs/webhooks/referencia/messages/image.md +304 -0
  380. package/docs/webhooks/referencia/messages/interactive.md +225 -0
  381. package/docs/webhooks/referencia/messages/location.md +296 -0
  382. package/docs/webhooks/referencia/messages/messages.md +44 -0
  383. package/docs/webhooks/referencia/messages/order.md +208 -0
  384. package/docs/webhooks/referencia/messages/reaction.md +178 -0
  385. package/docs/webhooks/referencia/messages/status.md +364 -0
  386. package/docs/webhooks/referencia/messages/sticker.md +298 -0
  387. package/docs/webhooks/referencia/messages/system.md +140 -0
  388. package/docs/webhooks/referencia/messages/text.md +322 -0
  389. package/docs/webhooks/referencia/messages/unsupported.md +165 -0
  390. package/docs/webhooks/referencia/messages/video.md +304 -0
  391. package/docs/webhooks/referencia/outros_webhooks/AGENTS.md +16 -0
  392. package/docs/webhooks/referencia/outros_webhooks/partner_solutions.md +114 -0
  393. package/docs/webhooks/referencia/outros_webhooks/payment_configuration_update.md +135 -0
  394. package/docs/webhooks/referencia/outros_webhooks/phone_number_name_update.md +129 -0
  395. package/docs/webhooks/referencia/outros_webhooks/phone_number_quality_update.md +172 -0
  396. package/docs/webhooks/referencia/outros_webhooks/security.md +108 -0
  397. package/docs/webhooks/referencia/outros_webhooks/smb_app_state_sync.md +146 -0
  398. package/docs/webhooks/referencia/outros_webhooks/smb_message_echoes.md +143 -0
  399. package/docs/webhooks/referencia/outros_webhooks/template_category_update.md +154 -0
  400. package/docs/webhooks/referencia/outros_webhooks/user_preferences.md +150 -0
  401. package/docs/webhooks/visao_geral/AGENTS.md +11 -0
  402. package/docs/webhooks/visao_geral/message_echoes.md +8 -0
  403. package/docs/webhooks/visao_geral/override.md +235 -0
  404. package/docs/webhooks/visao_geral/overview.md +158 -0
  405. package/docs/webhooks/visao_geral/set_up_whatsapp_echo_bot.md +109 -0
  406. package/package.json +50 -0
@@ -0,0 +1,1228 @@
1
+ <!-- Source: https://developers.facebook.com/documentation/business-messaging/whatsapp/payments/payments-in/pg -->
2
+ <!-- Scraped: 2025-12-20T17:45:44.467Z -->
3
+
4
+ # Receber pagamentos por meio de portais de pagamento no WhatsApp
5
+
6
+ Updated: 14 de nov de 2025
7
+
8
+ Sua empresa pode permitir que os clientes paguem os pedidos por meio dos nossos portais de pagamento parceiros sem sair do WhatsApp. As empresas podem enviar aos clientes mensagens order\_details e, em seguida, receber notificações sobre atualizações no status de pagamento por meio de webhooks.
9
+
10
+ ## Visão geral
11
+
12
+ Atualmente, os clientes navegam nos catálogos das empresas, adicionam produtos ao carrinho e enviam pedidos usando nosso conjunto de soluções de mensagens comerciais, que inclui [mensagem de produto único, mensagem multiproduto e página de detalhes do produto](/documentation/business-messaging/whatsapp/catalogs/sell-products-and-services/share-products). Agora, com a API de Pagamentos, as empresas podem enviar aos clientes uma _fatura_, para que eles concluam o pedido pagando sem precisar sair do WhatsApp.
13
+
14
+ No momento, nossa solução de pagamentos é habilitada por BillDesk, Razorpay, PayU e Zaakpay, um provedor de serviços de pagamento de terceiros. É preciso ter uma conta do BillDesk, Razorpay, PayU ou Zaakpay para receber pagamentos no WhatsApp.
15
+
16
+ Esperamos que mais provedores de pagamento sejam adicionados no futuro.
17
+
18
+ ## Como funciona
19
+
20
+ Primeiro, a empresa compõe e envia uma mensagem `order_details`. A mensagem `order_details` é um novo tipo de mensagem `interactive` que sempre contém os mesmos 4 componentes principais: **cabeçalho**, **corpo**, **rodapé** e **ação**. Dentro do componente `action`, a empresa inclui todas as informações necessárias para que o cliente conclua o pagamento.
21
+
22
+ Cada mensagem `order_details` contém um `reference_id` único fornecido pela empresa, e essa identificação única é usada em todo o fluxo para rastrear o pedido.
23
+
24
+ Depois que a mensagem é enviada, a empresa aguarda por uma atualização de status de pagamento via webhooks. As empresas recebem uma notificação quando o status do pagamento é alterado, mas não devem depender somente dessas notificações de webhooks por questões de segurança. O WhatsApp também fornece uma API de consulta de pagamentos que pode ser usada para recuperar os status de pagamento a qualquer momento.
25
+
26
+ ## Fluxo de compra no app
27
+
28
+ No app de mensagens do WhatsApp, o fluxo de compra tem estas etapas:
29
+
30
+ - Os clientes enviam um pedido com produtos selecionados para a empresa por meio de mensagens de texto simples ou usando outras mensagens interativas, como [mensagem de produto único, mensagem multiproduto e detalhes do produto.](/documentation/business-messaging/whatsapp/catalogs/sell-products-and-services/share-products)
31
+ - Depois de receber o pedido, a empresa envia uma mensagem `order_details` ao usuário. Ao tocar em **Analisar e pagar**, o usuário vê os detalhes do pedido e o valor total a ser pago.
32
+ - Ao tocar no botão **Continuar**, o usuário pode optar por pagar de forma nativa no WhatsApp ou em qualquer outro app de UPI.
33
+
34
+ Finalização da compra com o WhatsApp Pay:
35
+
36
+ ![](https://scontent-gru2-1.xx.fbcdn.net/v/t39.2365-6/571153290_847708537732068_1114245616221778284_n.gif?_nc_cat=109&ccb=1-7&_nc_sid=e280be&_nc_ohc=stv8vff4K9UQ7kNvwG5y_xJ&_nc_oc=AdkMEZoEwgMe1IMMxHf8_VMyfKRS561sBGtcjGPUW-JF7JPy_0oUk6pf1hXd4p5f4No&_nc_zt=14&_nc_ht=scontent-gru2-1.xx&_nc_gid=OS7jXrC7KbJQ8kXQPWqWqg&oh=00_Aflgb-4urIb5d7_XIipWFrL1w53M5wirv5YTSQIYy_ZCGw&oe=69612CA6)
37
+
38
+
39
+
40
+ Finalização da compra em outros apps de UPI:
41
+
42
+ ![](https://scontent-gru2-1.xx.fbcdn.net/v/t39.2365-6/571162926_1314244496589753_2685997247719512396_n.gif?_nc_cat=109&ccb=1-7&_nc_sid=e280be&_nc_ohc=g6TOIknnezkQ7kNvwEOOENo&_nc_oc=AdmyAEpWPceqPHWdBxY7iunQsv0YtHqnYwb_EKUoxstlxHO2sLMkmmypjbaTx4GSgBs&_nc_zt=14&_nc_ht=scontent-gru2-1.xx&_nc_gid=OS7jXrC7KbJQ8kXQPWqWqg&oh=00_AfkrGSczsJYSssJXoqJHMoVaIRMKV_4oC-Qnrl3syBnTSQ&oe=696124F4)
43
+ - Depois que o pagamento for confirmado pelo portal de pagamento (PG) ou provedor de serviços de pagamento, a empresa poderá iniciar o processamento do pedido.
44
+ - Depois, as empresas podem enviar uma mensagem `order_status` ao consumidor com informações sobre o status do pedido. Cada mensagem resultará em um balão de mensagem (conforme mostrado abaixo), que se refere à mensagem original com detalhes do pedido e também atualiza o status exibido na página de detalhes do pedido.
45
+
46
+
47
+ ## Vincular a conta de pagamento
48
+
49
+ Para receber pagamentos no WhatsApp, é preciso adicionar uma _configuração de pagamento_ à conta do WhatsApp Business correspondente. A configuração de pagamento permite vincular uma conta do portal de pagamento ao WhatsApp. Cada configuração de pagamento é associada a um _nome único_. Como parte da mensagem `order_details`, você pode especificar a configuração de pagamento que será usada para determinada finalização da compra. O WhatsApp gerará um fluxo de finalização da compra usando a conta do portal de pagamento associado.
50
+
51
+ ![](https://scontent-gru2-1.xx.fbcdn.net/v/t39.2365-6/571120266_771781145862776_2768065542923604342_n.gif?_nc_cat=109&ccb=1-7&_nc_sid=e280be&_nc_ohc=DNdM5YigG58Q7kNvwGdVR1a&_nc_oc=AdmHXstXWzo7B09SKUAQwaHQs6Se8FRhMG9as9SX1rdZh6ZnLs3cyv6CYTjstDK9PM0&_nc_zt=14&_nc_ht=scontent-gru2-1.xx&_nc_gid=OS7jXrC7KbJQ8kXQPWqWqg&oh=00_AflgDpc0lR8QhNwGejWCPXuv3vjRAuEKgbaHeFsa__ZK6A&oe=69610E38)
52
+
53
+ Depois de vincular a conta do parceiro de pagamento, faça a integração com as APIs de Pagamentos abaixo. Isso permitirá que você envie uma mensagem `order_details` aos clientes com a configuração para receber pagamentos.
54
+
55
+ ### Etapas para desvincular a configuração de pagamento
56
+
57
+ Observação: antes de realizar a desvinculação, verifique se nenhuma nova mensagem de pedido solicitando pagamento ao cliente foi enviada usando a configuração de pagamento que você pretende remover.
58
+
59
+ ## Etapas de integração
60
+
61
+ As etapas descritas abaixo pressupõem que a empresa já sabe no que o usuário está interessado por meio de conversas anteriores. A API de Pagamentos é uma API independente e, portanto, pode funcionar com várias mensagens, como [mensagens de lista, botões de resposta, mensagens de produto único ou multiproduto](/documentation/business-messaging/whatsapp/reference/whatsapp-business-phone-number/message-api).
62
+
63
+ ### Diagrama de sequência
64
+
65
+ O diagrama de sequência a seguir exibe o fluxo de integração típico da API de Pagamentos. As etapas destacadas em verde são as principais etapas de integração.
66
+
67
+ ![](https://scontent-gru2-2.xx.fbcdn.net/v/t39.2365-6/571217223_783482261180609_2685234002113988131_n.png?_nc_cat=105&ccb=1-7&_nc_sid=e280be&_nc_ohc=HlIkAkCd7w8Q7kNvwGwR_dT&_nc_oc=AdnH1Cmf9QqZnKahtGazYaGEUwKhHD2qJOtUy9dhpdtx9AoTJTFlofCiJoBUMVgZO38&_nc_zt=14&_nc_ht=scontent-gru2-2.xx&_nc_gid=OS7jXrC7KbJQ8kXQPWqWqg&oh=00_AfnMbl8QpnGb4G5qv3Aoj4NBq7faxQqlYhAm85WvssOkhw&oe=69613453)
68
+
69
+ ### Etapa 1: enviar mensagem interativa com detalhes do pedido
70
+
71
+ Para enviar uma mensagem `order_details`, as empresas precisam montar um objeto interativo do tipo `order_details` com estes componentes:
72
+
73
+ Objeto
74
+
75
+ Descrição
76
+
77
+ `type`
78
+
79
+ objeto
80
+
81
+ **Obrigatório.**
82
+
83
+ Deve ser "order\_details".
84
+
85
+ `header`
86
+
87
+ objeto
88
+
89
+ **Opcional.**
90
+
91
+ O conteúdo do cabeçalho exibido na parte superior da mensagem. Se nenhum cabeçalho for fornecido, a API usará uma imagem do primeiro produto disponível como cabeçalho
92
+
93
+ `body`
94
+
95
+ objeto
96
+
97
+ **Obrigatório.**
98
+
99
+ Um objeto com o corpo da mensagem. O objeto contém o seguinte campo:
100
+
101
+ String `text`
102
+
103
+ - **Obrigatório** se `body` estiver presente. O conteúdo da mensagem. Há compatibilidade com emojis e Markdown. O tamanho máximo é de 1.024 caracteres
104
+
105
+ `footer`
106
+
107
+ objeto
108
+
109
+ **Opcional.**
110
+
111
+ Um objeto com o rodapé da mensagem. O objeto contém os seguintes campos:
112
+
113
+ String `text`
114
+
115
+ - **Obrigatório** se `footer` estiver presente. O conteúdo do rodapé. É compatível com emojis, Markdown e links. O comprimento máximo é de 60 caracteres
116
+
117
+ `action`
118
+
119
+ objeto
120
+
121
+ **Obrigatório.**
122
+
123
+ Um objeto de ação que você deseja que o usuário execute após a leitura da mensagem. Esse objeto de ação contém os seguintes campos:
124
+
125
+ String `name`
126
+
127
+ - **Obrigatório.** Deve ser "review\_and\_pay"
128
+
129
+ Objeto `parameters`
130
+
131
+ - Para mais informações, consulte [Objeto de parâmetros](#paramobject)
132
+
133
+ #### Objeto de parâmetros
134
+
135
+ Objeto
136
+
137
+ Descrição
138
+
139
+ `reference_id`
140
+
141
+ string
142
+
143
+ **Obrigatório.**
144
+
145
+ O identificador único do pedido ou da fatura fornecido pela empresa. Essa string diferencia maiúsculas de minúsculas, não pode estar vazia e só pode conter letras, números, sublinhados, traços ou pontos, além de não ultrapassar 35 caracteres.
146
+
147
+ O reference\_id deve ser único para cada mensagem de order\_details de determinada empresa. Se houver necessidade de enviar várias mensagens de order\_details para o mesmo pedido, recomendamos incluir um número de sequência no reference\_id (por exemplo, “BM345A-12”) para garantir a exclusividade do reference\_id.
148
+
149
+ `type`
150
+
151
+ objeto
152
+
153
+ **Obrigatório.**
154
+
155
+ O tipo de produto a ser pago neste pedido. As opções compatíveis no momento são `digital-goods` e `physical-goods`.
156
+
157
+ `beneficiaries`
158
+
159
+ matriz
160
+
161
+ **Obrigatório para mercadorias físicas enviadas.**
162
+
163
+ Uma matriz de beneficiários do pedido. O beneficiário é o destinatário designado para o envio dos produtos físicos do pedido. Contém os seguintes campos:
164
+
165
+ Observação: as informações sobre o beneficiário não são exibidas aos usuários, mas são necessárias por motivos legais e de conformidade.
166
+
167
+ String `name`
168
+
169
+ - **Obrigatório.** Nome do indivíduo ou empresa que recebeu os produtos físicos. Não pode ter mais de 200 caracteres
170
+
171
+ String `address_line1`
172
+
173
+ - **Obrigatório.** Endereço de entrega (número da porta/torre, nome da rua etc.). Não pode ter mais de 100 caracteres
174
+
175
+ String `address_line2`
176
+
177
+ - **Opcional.** Endereço de entrega (ponto de referência, área, entre outros). Não pode ter mais de 100 caracteres
178
+
179
+ String `city`
180
+
181
+ - **Obrigatório.** Nome da cidade.
182
+
183
+ String `state`
184
+
185
+ - **Obrigatório.** Nome do estado.
186
+
187
+ String `country`
188
+
189
+ - **Obrigatório.** Deve ser "Índia".
190
+
191
+ String `postal_code`
192
+
193
+ - **Obrigatório.** Código postal de seis dígitos do endereço de entrega.
194
+
195
+ `currency`
196
+
197
+ **Obrigatório.**
198
+
199
+ A moeda usada para o pedido. No momento, o único valor aceito é `INR`.
200
+
201
+ `total_amount`
202
+
203
+ objeto
204
+
205
+ **Obrigatório.**
206
+
207
+ O objeto `total_amount` contém os seguintes campos:
208
+
209
+ `offset` é um número inteiro
210
+
211
+ - **Obrigatório.** Deve ser `100` para `INR`.
212
+
213
+ `value` é um número inteiro
214
+
215
+ - **Obrigatório.** Número inteiro positivo que representa o valor do montante multiplicado pelo fator de ajuste. Por exemplo, ₹12,34 tem o valor 1234.
216
+
217
+ `total_amount.value` deve ser igual a `order.subtotal.value` + `order.tax.value` + `order.shipping.value` - `order.discount.value`.
218
+
219
+ `payment_settings`
220
+
221
+ objeto
222
+
223
+ **Obrigatório.**
224
+
225
+ Consulte [Objeto de configurações de pagamento](#paymentsettingsobject) para saber mais.
226
+
227
+ `order`
228
+
229
+ objeto
230
+
231
+ **Obrigatório.**
232
+
233
+ Consulte [Objeto de pedido](#ordobject) para saber mais.
234
+
235
+ #### Objeto de configurações de pagamento
236
+
237
+ Objeto
238
+
239
+ Descrição
240
+
241
+ `type`
242
+
243
+ string
244
+
245
+ **Obrigatório.**
246
+
247
+ Deve ser definido como **“payment\_gateway”**
248
+
249
+ `payment_gateway`
250
+
251
+ objeto
252
+
253
+ **Obrigatório.**
254
+
255
+ Um objeto que descreve as informações da conta de pagamento:
256
+
257
+ String `type`
258
+
259
+ - **Obrigatório.** O identificador único de um item do pedido. Defina como **“billdesk”**, **“razorpay”**, **“payu”** ou **zaakpay** se tiver vinculado o portal de pagamento BillDesk, Razorpay, PayU ou Zaakpay para aceitar pagamentos
260
+
261
+ String `configuration_name`
262
+
263
+ - **Obrigatório.** O nome da configuração de pagamento predefinida a ser usada neste pedido, que não deve exceder 60 caracteres. Esse valor deve corresponder a uma configuração de pagamento definida no Gerenciador do WhatsApp Business conforme exibido [aqui](/docs/whatsapp/on-premises/payments-api/payments-sg#before-you-start).
264
+
265
+ Quando `configuration_name` for inválido, o cliente não poderá pagar pelo pedido. Recomendamos que as empresas realizem testes abrangentes dessa configuração durante a fase de integração.
266
+
267
+ Objeto `billdesk/razorpay/payu/zaakpay`
268
+
269
+ - **Opcional.** Os comerciantes/parceiros que querem usar additional\_info1/7 (para BillDesk), "notes" e "receipt"(para Razorpay) e "UDF" (para PayU) e "extra1/2" (para Zaakpay) agora podem transmitir esses valores na mensagem de Detalhes do pedido, e nós usaremos esses campos para criar transações/pedidos nos respectivos PGs.
270
+
271
+ Para saber mais, consulte [Objeto UDF específico do portal de pagamento](#paymentsettingsudfobject).
272
+
273
+ #### Campos de BillDesk, RazorPay, PayU e Zaakpay
274
+
275
+ Agora, oferecemos suporte para que parceiros e comerciantes enviem os campos `notes`, `receipt` e `udf` na mensagem de detalhes do pedido e recebam esses dados de volta em sinais de pagamento. Aqui, veremos como os comerciantes podem enviar "additional\_info" para o BillDesk, "notes" e "receipt" para o Razorpay, "udf" para o PayU, "extra" para PGs do Zaakpay.
276
+
277
+ Objeto
278
+
279
+ Descrição
280
+
281
+ `notes`
282
+
283
+ objeto
284
+
285
+ **Opcional.**
286
+
287
+ - Oferece suporte apenas ao portal de pagamento Razorpay
288
+
289
+ O objeto pode ser pares de chave-valor com no máximo 15 chaves e cada valor limitado a 256 caracteres.
290
+
291
+ `receipt`
292
+
293
+ String
294
+
295
+ **Opcional.**
296
+
297
+ - Oferece suporte apenas ao portal de pagamento Razorpay
298
+
299
+ O número do recibo correspondente ao pedido, definido para sua referência interna. Suporte para número máximo de 40 caracteres, com comprimento mínimo maior que 0 caractere.
300
+
301
+ `udf1-4`
302
+
303
+ String
304
+
305
+ **Opcional.**
306
+
307
+ - Oferece suporte apenas ao portal de pagamento PayU
308
+
309
+ Os campos definidos pelo usuário (UDF, pela sigla em inglês) são usados para armazenar informações relacionadas a um pedido específico. Cada campo de UDF tem um limite máximo de 255 caracteres.
310
+
311
+ `extra1-2`
312
+
313
+ String
314
+
315
+ **Opcional.**
316
+
317
+ - Oferece suporte apenas ao portal de pagamento Zaakpay
318
+
319
+ Os campos definidos pelo usuário (extra) são usados para armazenar informações relacionadas a um pedido específico. Cada campo extra tem um limite máximo de 180 caracteres.
320
+
321
+ `additional_info1-7`
322
+
323
+ String
324
+
325
+ **Opcional.**
326
+
327
+ - Oferece suporte apenas ao portal de pagamento BillDesk
328
+
329
+ Os campos definidos pelo usuário (extra) são usados para armazenar informações relacionadas a um pedido específico. Cada campo extra tem um limite máximo de 120 caracteres.
330
+
331
+ #### Objeto de pedido
332
+
333
+ Objeto
334
+
335
+ Descrição
336
+
337
+ `status`
338
+
339
+ string
340
+
341
+ **Obrigatório.**
342
+
343
+ O único valor aceito na mensagem `order_details` é `pending`.
344
+
345
+ Em uma mensagem `order_status`, `status` pode ser: `pending`, `captured` ou `failed`.
346
+
347
+ String `type`
348
+
349
+ **Opcional.**
350
+
351
+ O único valor aceito é `quick_pay`. Quando o campo é transmitido, ocultamos o botão "Verificar e pagar" e exibimos apenas o botão "Pagar agora" no balão de detalhes do pedido.
352
+
353
+ `items`
354
+
355
+ objeto
356
+
357
+ **Obrigatório.**
358
+
359
+ Um objeto com a lista de itens do pedido, contendo os seguintes campos:
360
+
361
+ String `retailer_id`
362
+
363
+ - **Opcional.** A identificação de conteúdo de um item do pedido do seu catálogo.
364
+
365
+ String `name`
366
+
367
+ - **Obrigatório.** O nome do item que será exibido ao usuário. Não pode ter mais de 60 caracteres
368
+
369
+ Objeto `image`
370
+
371
+ - **Opcional.** Imagem personalizada do item que será exibida ao usuário. Consulte [Objeto de imagem de item](#item_image_object) para saber mais
372
+
373
+ O uso desse campo de imagem limitará a matriz de itens a um máximo de 10 itens e não poderá ser usado com `retailer_id` ou `catalog_id`.
374
+
375
+ Objeto `amount` com valor e fator de ajuste — consulte o campo de valor total acima
376
+
377
+ - **Obrigatório.** O preço por item
378
+
379
+ Objeto de quantia `sale_amount`
380
+
381
+ - **Opcional.** O preço com desconto de cada item. Esse valor deve ser menor que o original. Se for incluído, esse campo será usado para calcular o valor subtotal.
382
+
383
+ `quantity` é um número inteiro
384
+
385
+ - **Obrigatório.** O número de itens no pedido; este campo não pode conter valores decimais e deve ser um número inteiro.
386
+
387
+ String `country_of_origin`
388
+
389
+ - **Obrigatório** se `catalog_id` não estiver presente. O país de origem do produto
390
+
391
+ String `importer_name`
392
+
393
+ - **Obrigatório** se `catalog_id` não estiver presente. Nome da empresa importadora
394
+
395
+ String `importer_adress`
396
+
397
+ - **Obrigatório** se `catalog_id` não estiver presente. Endereço da empresa importadora
398
+
399
+ `subtotal`
400
+
401
+ objeto
402
+
403
+ **Obrigatório.**
404
+
405
+ O valor **deve ser igual** à soma de `order.amount.value` \* `order.amount.quantity`. Consulte a descrição de `total_amount` para ver explicações sobre os campos `offset` e `value`
406
+
407
+ Os seguintes campos fazem parte do objeto `subtotal`:
408
+
409
+ `offset` é um número inteiro
410
+
411
+ - **Obrigatório.** Deve ser `100` para `INR`
412
+
413
+ `value` é um número inteiro
414
+
415
+ - **Obrigatório.** Número inteiro positivo que representa o valor do montante multiplicado pelo fator de ajuste. Por exemplo, ₹12,34 tem o valor 1234
416
+
417
+ `tax`
418
+
419
+ objeto
420
+
421
+ **Obrigatório.**
422
+
423
+ As informações fiscais do pedido que contêm os seguintes campos:
424
+
425
+ `offset` é um número inteiro
426
+
427
+ - **Obrigatório.** Deve ser `100` para `INR`
428
+
429
+ `value` é um número inteiro
430
+
431
+ - **Obrigatório.** Número inteiro positivo que representa o valor do montante multiplicado pelo fator de ajuste. Por exemplo, ₹12,34 tem o valor 1234
432
+
433
+ String `description`
434
+
435
+ - **Opcional.** O limite máximo é de 60 caracteres
436
+
437
+ `shipping`
438
+
439
+ objeto
440
+
441
+ **Opcional.**
442
+
443
+ O custo de envio do pedido. O objeto contém os seguintes campos:
444
+
445
+ `offset` é um número inteiro
446
+
447
+ - **Obrigatório.** Deve ser `100` para `INR`
448
+
449
+ `value` é um número inteiro
450
+
451
+ - **Obrigatório.** Número inteiro positivo que representa o valor do montante multiplicado pelo fator de ajuste. Por exemplo, ₹12,34 tem o valor 1234
452
+
453
+ String `description`
454
+
455
+ - **Opcional.** O limite máximo é de 60 caracteres
456
+
457
+ `discount`
458
+
459
+ objeto
460
+
461
+ **Opcional.**
462
+
463
+ O desconto do pedido. O objeto contém os seguintes campos:
464
+
465
+ `offset` é um número inteiro
466
+
467
+ - **Obrigatório.** Deve ser `100` para `INR`
468
+
469
+ `value` é um número inteiro
470
+
471
+ - **Obrigatório.** Número inteiro positivo que representa o valor do montante multiplicado pelo fator de ajuste. Por exemplo, ₹12,34 tem o valor 1234
472
+
473
+ String `description`
474
+
475
+ - **Opcional.** O limite máximo é de 60 caracteres
476
+
477
+ String `discount_program_name`
478
+
479
+ - **Opcional.** Texto usado para definir pedidos om incentivos. Se o pedido incluir incentivos, o comerciante precisará definir essa informação. O limite máximo é de 60 caracteres
480
+
481
+ `catalog_id`
482
+
483
+ objeto
484
+
485
+ **Opcional.**
486
+
487
+ O identificador único do catálogo do Facebook usado pela empresa.
488
+
489
+ Se o campo não for fornecido, será necessário fornecer os seguintes campos dentro do objeto "items": `country_of_origin`, `importer_name` e `importer_address`
490
+
491
+ `expiration`
492
+
493
+ objeto
494
+
495
+ **Opcional.**
496
+
497
+ Validade do pedido. A empresa deve definir os seguintes campos no objeto:
498
+
499
+ String `timestamp` – registro de data e hora UTC em segundos do momento em que o pedido deve expirar. O limite mínimo é de 300 segundos
500
+
501
+ String `description` – texto que explica a validade. O limite máximo é de 120 caracteres.
502
+
503
+ #### Objeto de imagem de item
504
+
505
+ Objeto
506
+
507
+ Descrição
508
+
509
+ String `link`
510
+
511
+ **Obrigatório.** Um link para a imagem que será exibida ao usuário. Deve ser `image/jpeg` ou `image/png` e 8 bits, RGB ou RGBA. Segue os mesmos requisitos de imagem em [mídia](/documentation/business-messaging/whatsapp/business-phone-numbers/media#supported-media-types)
512
+
513
+ O valor `parameters` é um objeto JSON convertido em string.
514
+
515
+ No final do processo, o objeto interativo terá aparência semelhante a esta em uma integração baseada em catálogo no BillDesk:
516
+
517
+ ```
518
+ {  "interactive": {    "type": "order_details",    "header": {      "type": "image",      "image": {        "link": "http(s)://the-url",        "provider": {          "name": "provider-name"        }      }    },    "body": {      "text": "your-text-body-content"    },    "footer": {      "text": "your-text-footer-content"    },    "action": {      "name": "review_and_pay",      "parameters": {        "reference_id": "reference-id-value",        "type": "digital-goods",        "payment_settings": [          {            "type": "payment_gateway",            "payment_gateway": {              "type": "billdesk",              "configuration_name": "payment-config-id",              "billdesk": {                "additional_info1": "additional_info1-value",                "additional_info2": "additional_info2-value",                "additional_info3": "additional_info3-value",                "additional_info4": "additional_info4-value",                "additional_info5": "additional_info5-value",                "additional_info6": "additional_info6-value",                "additional_info7": "additional_info7-value",              }            }          }        ],        "currency": "INR",        "total_amount": {          "value": 21000,          "offset": 100        },        "order": {          "status": "pending",          "catalog_id": "the-catalog_id",          "expiration": {            "timestamp": "utc_timestamp_in_seconds",            "description": "cancellation-explanation"          },          "items": [            {              "retailer_id": "1234567",              "name": "Product name, for example bread",              "amount": {                "value": 10000,                "offset": 100              },              "quantity": 1,              "sale_amount": {                "value": 100,                "offset": 100              }            }          ],          "subtotal": {            "value": 20000,            "offset": 100          },          "tax": {            "value": 1000,            "offset": 100,            "description": "optional_text"          },          "shipping": {            "value": 1000,            "offset": 100,            "description": "optional_text"          },          "discount": {            "value": 1000,            "offset": 100,            "description": "optional_text",            "discount_program_name": "optional_text"          }        }      }    }  }}
519
+ ```
520
+
521
+ O valor `parameters` é um objeto JSON convertido em string.
522
+
523
+ No final do processo, o objeto interativo terá aparência semelhante a esta em uma integração baseada em catálogo no RazorPay:
524
+
525
+ ```
526
+ {  "interactive": {    "type": "order_details",    "header": {      "type": "image",      "image": {        "link": "http(s)://the-url",        "provider": {          "name": "provider-name"        }      }    },    "body": {      "text": "your-text-body-content"    },    "footer": {      "text": "your-text-footer-content"    },    "action": {      "name": "review_and_pay",      "parameters": {        "reference_id": "reference-id-value",        "type": "digital-goods",        "payment_settings": [          {            "type": "payment_gateway",            "payment_gateway": {              "type": "razorpay",              "configuration_name": "payment-config-id",              "razorpay": {                "receipt": "receipt-value",                "notes": {                  "key1": "value1"                }              }            }          }        ],        "currency": "INR",        "total_amount": {          "value": 21000,          "offset": 100        },        "order": {          "status": "pending",          "catalog_id": "the-catalog_id",          "expiration": {            "timestamp": "utc_timestamp_in_seconds",            "description": "cancellation-explanation"          },          "items": [            {              "retailer_id": "1234567",              "name": "Product name, for example bread",              "amount": {                "value": 10000,                "offset": 100              },              "quantity": 1,              "sale_amount": {                "value": 100,                "offset": 100              }            }          ],          "subtotal": {            "value": 20000,            "offset": 100          },          "tax": {            "value": 1000,            "offset": 100,            "description": "optional_text"          },          "shipping": {            "value": 1000,            "offset": 100,            "description": "optional_text"          },          "discount": {            "value": 1000,            "offset": 100,            "description": "optional_text",            "discount_program_name": "optional_text"          }        }      }    }  }}
527
+ ```
528
+
529
+ O valor `parameters` é um objeto JSON convertido em string.
530
+
531
+ Para uma integração não baseada em catálogo do PayU, ou seja, quando "catálogo-id" não está presente, um exemplo de carga é o seguinte:
532
+
533
+ ```
534
+ {  "interactive": {    "type": "order_details",    "header": {      "type": "image",      "image": {        "link": "your-media-url-link"      }    },    "body": {      "text": "your-text-body-content"    },    "footer": {      "text": "your-text-footer-content"    },    "action": {      "name": "review_and_pay",      "parameters": {        "reference_id": "reference-id-value",        "type": "digital-goods",        "payment_settings": [          {            "type": "payment_gateway",            "payment_gateway": {              "type": "payu",              "configuration_name": "payment-config-id",              "payu": {                "udf1": "value1",                "udf2": "value2",                "udf3": "value3",                "udf4": "value4"              }            }          }        ],        "currency": "INR",        "total_amount": {          "value": 21000,          "offset": 100        },        "order": {          "status": "pending",          "expiration": {            "timestamp": "utc_timestamp_in_seconds",            "description": "cancellation-explanation"          },          "items": [            {              "name": "Product name, for example bread",              "amount": {                "value": 10000,                "offset": 100              },              "quantity": 1,              "sale_amount": {                "value": 100,                "offset": 100              },              "country_of_origin": "country-of-origin",              "importer_name": "name-of-importer-business",              "importer_address": {                "address_line1": "B8/733 nand nagri",                "address_line2": "police station",                "city": "East Delhi",                "zone_code": "DL",                "postal_code": "110093",                "country_code": "IN"              }            },            {              "name": "Product name, for example bread",              "amount": {                "value": 10000,                "offset": 100              },              "quantity": 1,              "sale_amount": {                "value": 100,                "offset": 100              },              "country_of_origin": "country-of-origin",              "importer_name": "name-of-importer-business",              "importer_address": {                "address_line1": "B8/733 nand nagri",                "address_line2": "police station",                "city": "East Delhi",                "zone_code": "DL",                "postal_code": "110093",                "country_code": "IN"              }            }          ],          "subtotal": {            "value": 20000,            "offset": 100          },          "tax": {            "value": 1000,            "offset": 100,            "description": "optional_text"          },          "shipping": {            "value": 1000,            "offset": 100,            "description": "optional_text"          },          "discount": {            "value": 1000,            "offset": 100,            "description": "optional_text",            "discount_program_name": "optional_text"          }        }      }    }  }}
535
+ ```
536
+
537
+ Para uma integração não baseada em catálogo do Zaakpay, ou seja, quando "catálogo-id" não está presente, um exemplo de carga é o seguinte:
538
+
539
+ ```
540
+ {  "interactive": {    "type": "order_details",    "header": {      "type": "image",      "image": {        "link": "your-media-url-link"      }    },    "body": {      "text": "your-text-body-content"    },    "footer": {      "text": "your-text-footer-content"    },    "action": {      "name": "review_and_pay",      "parameters": {        "reference_id": "reference-id-value",        "type": "digital-goods",        "payment_settings": [          {            "type": "payment_gateway",            "payment_gateway": {              "type": "zaakpay",              "configuration_name": "payment-config-id",              "zaakpay": {                "extra1": "value1",                "extra2": "value2"              }            }          }        ],        "currency": "INR",        "total_amount": {          "value": 21000,          "offset": 100        },        "order": {          "status": "pending",          "expiration": {            "timestamp": "utc_timestamp_in_seconds",            "description": "cancellation-explanation"          },          "items": [            {              "name": "Product name, for example bread",              "amount": {                "value": 10000,                "offset": 100              },              "quantity": 1,              "sale_amount": {                "value": 100,                "offset": 100              },              "country_of_origin": "country-of-origin",              "importer_name": "name-of-importer-business",              "importer_address": {                "address_line1": "B8/733 nand nagri",                "address_line2": "police station",                "city": "East Delhi",                "zone_code": "DL",                "postal_code": "110093",                "country_code": "IN"              }            },            {              "name": "Product name, for example bread",              "amount": {                "value": 10000,                "offset": 100              },              "quantity": 1,              "sale_amount": {                "value": 100,                "offset": 100              },              "country_of_origin": "country-of-origin",              "importer_name": "name-of-importer-business",              "importer_address": {                "address_line1": "B8/733 nand nagri",                "address_line2": "police station",                "city": "East Delhi",                "zone_code": "DL",                "postal_code": "110093",                "country_code": "IN"              }            }          ],          "subtotal": {            "value": 20000,            "offset": 100          },          "tax": {            "value": 1000,            "offset": 100,            "description": "optional_text"          },          "shipping": {            "value": 1000,            "offset": 100,            "description": "optional_text"          },          "discount": {            "value": 1000,            "offset": 100,            "description": "optional_text",            "discount_program_name": "optional_text"          }        }      }    }  }}
541
+ ```
542
+
543
+ ### Etapa 2: adicionar parâmetros de mensagem comuns
544
+
545
+ Assim que o objeto interativo estiver pronto, anexe os outros parâmetros que compõem uma mensagem: `recipient_type`, `to` e `type`. Lembre-se de definir `type` como `interactive`.
546
+
547
+ ```
548
+ {   "messaging_product": "whatsapp",   "recipient_type": "individual",   "to": "PHONE_NUMBER",   "type": "interactive",   "interactive": {     // interactive object here   } }
549
+ ```
550
+
551
+ Estes são os [parâmetros comuns a todos os tipos de mensagem](/documentation/business-messaging/whatsapp/messages/send-messages#requests).
552
+
553
+ ### Etapa 3: fazer uma chamada POST ao ponto de extremidade de mensagens
554
+
555
+ Faça uma chamada POST para o ponto de extremidade [`/[PHONE_NUMBER_ID]/messages`](/documentation/business-messaging/whatsapp/reference/whatsapp-business-phone-number/message-api) com o objeto `JSON` criado. Caso a mensagem seja enviada com sucesso, você receberá a seguinte resposta:
556
+
557
+ ```
558
+ {  "messaging_product": "whatsapp",  "contacts": [ {      "input": "[PHONE_NUMBER_ID]",      "wa_id": "[PHONE_NUMBER_ID]"  } ],  "messages": [ {      "id": "wamid.HBgLMTY1MDUwNzY1MjAVAgARGBI5QTNDQTVCM0Q0Q0Q2RTY3RTcA"  } ]}
559
+ ```
560
+
561
+ Para ver todos os outros erros que podem ser retornados e as orientações sobre como tratá-los, consulte [API de Nuvem do WhatsApp, Códigos de erro](/documentation/business-messaging/whatsapp/support/error-codes).
562
+
563
+ #### Experiência de produto
564
+
565
+ O cliente recebe uma mensagem `order_details` semelhante à exibida abaixo (esquerda). Ao clicar em "Analisar e pagar", a tela com os detalhes do pedido será aberta, conforme exibido abaixo (no meio). O cliente pode pagar o pedido usando o botão "Continuar", que abre uma folha inferior com as opções de pagamento (à direita).
566
+
567
+ ![Image](https://scontent-gru1-2.xx.fbcdn.net/v/t39.2365-6/560571516_1339317914593526_2781071619819376161_n.jpg?_nc_cat=108&ccb=1-7&_nc_sid=e280be&_nc_ohc=tDQ8S3eEg3IQ7kNvwFRrvEZ&_nc_oc=Adm6lDKETx6GYEr1uC3PhNix9buKYU0PoY1VoOJSSHwefLjZXNmF_PiUYhdB_C5nq2Y&_nc_zt=14&_nc_ht=scontent-gru1-2.xx&_nc_gid=OS7jXrC7KbJQ8kXQPWqWqg&oh=00_AflOPkfbZHSxH32-DL-sqqN-LiKaHMElwA40QVBr1OP82A&oe=6961345C)
568
+
569
+ ![Image](https://scontent-gru1-1.xx.fbcdn.net/v/t39.2365-6/560071360_1339318024593515_5292229863238867668_n.jpg?_nc_cat=104&ccb=1-7&_nc_sid=e280be&_nc_ohc=8nGnZ-vN4ZYQ7kNvwGumEbr&_nc_oc=AdmeQufUpUmgWvTm82kNjl2wmM8C9eDkSptL5U7hZpM3zhZgcK88iO4zofTswwzgyxM&_nc_zt=14&_nc_ht=scontent-gru1-1.xx&_nc_gid=OS7jXrC7KbJQ8kXQPWqWqg&oh=00_AfmvO2MsLXQGe6_fQf7GHhxYUonZKzj19D9E8qyn8aElKg&oe=69610B2C)
570
+
571
+ ![Image](https://scontent-gru1-1.xx.fbcdn.net/v/t39.2365-6/564832679_1339318067926844_5442920966964103492_n.jpg?_nc_cat=101&ccb=1-7&_nc_sid=e280be&_nc_ohc=ke1bFb-43i0Q7kNvwFuob3s&_nc_oc=AdkMETlz4nPewHQB7z4y-1yYlh7juqshHfqZcJ7D449bSszOs4mzszx9kM7mklWPxtE&_nc_zt=14&_nc_ht=scontent-gru1-1.xx&_nc_gid=OS7jXrC7KbJQ8kXQPWqWqg&oh=00_AfmwwgCYyMYMyq8MtT3zC5PBhw48VSfACkejA0ekEvQabw&oe=696117FA)
572
+
573
+ ### Etapa 4: receber um webhook sobre o status da transação
574
+
575
+ As empresas recebem atualizações por meio de [webhooks do WhatsApp](/docs/whatsapp/on-premises/guides/webhooks) quando o status da transação iniciada pelo usuário é alterado para um status do tipo "pagamento". Contém os seguintes campos:
576
+
577
+ Objeto
578
+
579
+ Descrição
580
+
581
+ `id`
582
+
583
+ string
584
+
585
+ **Obrigatório.**
586
+
587
+ Identificação do webhook para a notificação.
588
+
589
+ `recipient_id`
590
+
591
+ string
592
+
593
+ **Obrigatório.**
594
+
595
+ Identificação do WhatsApp do cliente.
596
+
597
+ `type`
598
+
599
+ string
600
+
601
+ **Obrigatório.**
602
+
603
+ Para webhooks de atualização de status de pagamento, o tipo é "payment".
604
+
605
+ `status`
606
+
607
+ string
608
+
609
+ **Obrigatório.**
610
+
611
+ `captured`/`pending`: `captured` – quando o pagamento é concluído com sucesso; `pending` quando o usuário tenta realizar a ação, mas ainda não recebeu o sinal de transações bem-sucedidas.
612
+
613
+ `payment`
614
+
615
+ objeto
616
+
617
+ **Obrigatório.**
618
+
619
+ Contém o seguinte campo:
620
+ String `reference_id`
621
+
622
+ - Identificação de referência única para o pedido enviado na mensagem `order_details`.
623
+ Objeto `amount`
624
+ - Tem campos de valor e deslocamento que correspondem ao valor total pago pelo usuário.
625
+ String `currency`
626
+ - a moeda é sempre INR.
627
+ Objeto `transaction` de tentativa de transação para o pagamento. O objeto de transação contém os seguintes campos:
628
+ - String `id`**Obrigatório.** A identificação do pedido no portal de pagamento alfanumérica.
629
+ - String `pg_transaction_id`**Opcional.** A identificação do pagamento no portal de pagamento alfanumérica.
630
+ - String `type`**Obrigatório.** O tipo de pagamento dessas transações. Apenas `billdesk`, `razorpay`, `payu` ou `zaakpay` têm suporte.
631
+ - String `status`**Obrigatório.** O status da transação. Pode ser `pending`, `success` ou `failed`.
632
+ - Número inteiro `created_timestamp`**Obrigatório.** O horário em que a transação foi criada, medido em segundos epoch.
633
+ - Número inteiro `updated_timestamp`**Obrigatório.** O horário da última atualização da transação em segundos epcoh.
634
+ - Objeto `method` (**Opcional.** As informações da forma de pagamento podem não estar disponíveis para pagamentos com falha)- String `type`**Obrigatório.** Descreve a forma de pagamento usada pelo consumidor para pagar o pedido. Pode ser `upi`, `card`, `wallet` ou `netbanking`.
635
+ - Objeto `error` ( **Opcional.** Os detalhes de erro de pagamento podem não estar disponíveis para todas as tentativas de pagamento.)- String `code`**Obrigatório.** Descreve o motivo da falha no pagamento que é gerado pelo portal de pagamento e a Meta retorna para os parceiros.- String `reason`**Obrigatório.** Descreve o motivo da falha no pagamento em texto sem formatação, que é gerado pelo portal de pagamento e a Meta retorna para os parceiros.
636
+ String `additional_info1-7`**Opcional.**
637
+ - Enviado apenas para o portal de pagamento Billdesk quando o valor é enviado na mensagem de detalhes do pedido. Cada uma das chaves additional\_info1-4 tem valores de string.
638
+ Objeto `notes` **Opcional.**
639
+ - Enviado apenas para o portal de pagamento Razorpay quando o valor é enviado na mensagem de detalhes do pedido. Contém o par de chave-valor transmitido na mensagem de detalhes do pedido.
640
+ String `receipt`**Opcional.**
641
+ - Enviado apenas para o portal de pagamento Razorpay quando o valor é enviado na mensagem de detalhes do pedido.
642
+ String `udf1-4`**Opcional.**
643
+ - Enviado apenas para o portal de pagamento Payu quando o valor é enviado na mensagem de detalhes do pedido. Cada uma das chaves udf1-4 tem valores de string.
644
+
645
+
646
+ String `extra1-2`**Opcional.**
647
+
648
+ - Enviado apenas para o portal de pagamento Zaakpay quando o valor é enviado na mensagem de detalhes do pedido. Cada uma das chaves extra1-2 tem valores de string.
649
+ Matriz `refunds`**Opcional.**
650
+
651
+ Lista de reembolsos para o pedido. Cada objeto de reembolso contém os seguintes campos:
652
+
653
+ - String `id`**Obrigatório.** A identificação alfanumérica do reembolso.- Objeto `amount`**Obrigatório.** O valor total do reembolso.- String `speed_processed`**Obrigatório.** Velocidade com que o reembolso foi processado. Pode ser `instant` ou `normal`.- String `status`**Obrigatório.** O status do reembolso. Pode ser `pending`, `success` ou `failed`.- Número inteiro `created_timestamp`**Obrigatório.** O horário em que o reembolso foi criado, medido em segundos epoch.- Número inteiro `updated_timestamp`**Obrigatório.** O horário da última atualização do reembolso em segundos epoch.
654
+
655
+ `timestamp`
656
+
657
+ string
658
+
659
+ **Obrigatório.**
660
+
661
+ Registro de data e hora do webhook.
662
+
663
+ Veja um exemplo de webhook de status do tipo `payment`:
664
+
665
+ ```
666
+ {  "object": "whatsapp_business_account",  "entry": [{    "id": "WHATSAPP-BUSINESS-ACCOUNT-ID",    "changes": [{      "value": {         "messaging_product": "whatsapp",         "metadata": {           "display_phone_number": "[PHONE_NUMBER]",           "phone_number_id": "[PHONE_NUMBER_ID]"         },         "contacts": [{...}],         "errors": [{...}],         "messages": [{...}],         "statuses": [{            "id": "gBGGFlB5YjhvAgnhuF1qIUvCo7A",            "recipient_id": "[PHONE_NUMBER]",            "type": "payment",            "status": "[TRANSACTION_STATUS]",            "payment": {               "reference_id": "[REFERENCE_ID]",               "amount": {                 "value": 21000,                 "offset": 100               },               "transaction": {                 "id": "[PG-ORDER-ID]",                 "pg_transaction_id": "[PG-PAYMENT-ID]",                 "type": "billdesk/razorpay/payu/zaakpay",                 "status": "success/failed",                 "created_timestamp": "CREATED_TIMESTAMP",                 "updated_timestamp": "UPDATED_TIMESTAMP",                 "method": {                   "type": "upi/card/netbanking/wallet"                 },                 "error": {                   "code": "pg-generated-error-code",                   "reason": "pg-generated-descriptive-reason"                 }               },               "currency": "INR",               "receipt": "receipt-value",               "notes": {                 "key1": "value1",                 "key2": "value2"               },               "udf1": "udf1-value",               "udf2": "udf2-value",               "udf3": "udf3-value",               "udf4": "udf4-value",               "additional_info1": "additional_info1-value",               "additional_info2": "additional_info2-value",               "additional_info3": "additional_info3-value",               "additional_info4": "additional_info4-value",               "additional_info5": "additional_info5-value",               "additional_info6": "additional_info6-value",               "additional_info7": "additional_info7-value",               "refunds": [{                 "id": "[REFUND-ID]",                 "amount": {                   "value": 100,                   "offset": 100                 },                 "speed_processed": "instant/normal",                 "status": "success",                 "created_timestamp": "CREATED_TIMESTAMP",                 "updated_timestamp": "UPDATED_TIMESTAMP",              }],            },            "timestamp": "notification_timestamp"         }]      },      "field": "messages"    }]  }]}
667
+ ```
668
+
669
+ Para saber mais sobre outros status, consulte [Componentes, objeto de status](/docs/whatsapp/on-premises/webhooks/components#statuses-object).
670
+
671
+ ### Etapa 5: confirmar o pagamento
672
+
673
+ Depois de receber o webhook de status do pagamento, ou a qualquer momento, a empresa pode consultar o status do pagamento referente ao pedido. Para tal, as empresas devem fazer uma chamada GET para o ponto de extremidade de pagamentos, conforme mostrado aqui:
674
+
675
+ ```
676
+ GET <PHONE_NUMBER_ID>/payments/<PAYMENT_CONFIGURATION>/<REFERENCE_ID>
677
+ ```
678
+
679
+ onde `payment_configuration` e `reference_id` são iguais ao que foi enviado na mensagem `order_details`.
680
+
681
+ As empresas devem esperar uma resposta na mesma sessão HTTP (não em uma notificação de webhook) que contenha os seguintes campos:
682
+
683
+ Campo
684
+
685
+ Descrição
686
+
687
+ `reference_id`
688
+
689
+ string
690
+
691
+ **Obrigatório.**
692
+
693
+ A identificação enviada pela empresa na mensagem `order_details`
694
+
695
+ `status`
696
+
697
+ string
698
+
699
+ **Obrigatório.**
700
+
701
+ O status do pagamento do pedido. Pode ser `pending` ou `captured`
702
+
703
+ Consulte a tabela abaixo para saber o que esses status significam.
704
+
705
+ `currency`
706
+
707
+ string
708
+
709
+ **Obrigatório.**
710
+
711
+ A moeda usada para o pagamento. No momento, o único valor aceito é `INR`.
712
+
713
+ `total_amount`
714
+
715
+ objeto
716
+
717
+ **Obrigatório.**
718
+
719
+ O valor total desse pagamento. Contém os seguintes campos:
720
+
721
+ `offset` é um número inteiro
722
+
723
+ - **Obrigatório.** Deve ser 100.
724
+
725
+ `value` é um número inteiro
726
+
727
+ - **Obrigatório.** Número inteiro positivo que representa o valor do montante multiplicado pelo fator de ajuste. Por exemplo, ₹12,34 tem o valor 1234.
728
+
729
+ `transactions`
730
+
731
+ matriz
732
+
733
+ **Obrigatório.**
734
+
735
+ A lista de transações para esse pagamento. Cada objeto contém os seguintes campos:
736
+
737
+ String `id`
738
+
739
+ - **Obrigatório.** A identificação do pedido no portal de pagamento alfanumérica.
740
+
741
+ String `pg_transaction_id`
742
+
743
+ - **Obrigatório.** A identificação do pagamento no portal de pagamento alfanumérica.
744
+
745
+ String `type`
746
+
747
+ - **Obrigatório.** O tipo de pagamento dessas transações. Apenas `billdesk`, `razorpay`, `payu` ou `zaakpay` têm suporte.
748
+
749
+ String `status`
750
+
751
+ - **Obrigatório.** O status da transação. Pode ser `pending`, `success` ou `failed`.
752
+
753
+ No máximo uma transação pode ter o status `success`.
754
+
755
+ Número inteiro `created_timestamp`
756
+
757
+ - **Obrigatório.** O horário em que a transação foi criada, medido em segundos epoch.
758
+
759
+ Número inteiro `updated_timestamp`
760
+
761
+ - **Obrigatório.** O horário da última atualização da transação em segundos epcoh.
762
+
763
+ Objeto `method`
764
+
765
+ **Opcional.** As informações da forma de pagamento podem não estar disponíveis para pagamentos com falha
766
+
767
+ - String `type`**Obrigatório.** Descreve a forma de pagamento usada pelo consumidor para pagar o pedido. Pode ser `upi`, `card`, `wallet` ou `netbanking`.
768
+
769
+ Objeto `error`
770
+
771
+ **Opcional.** Os detalhes de erro de pagamento podem não estar disponíveis para todas as tentativas de pagamento
772
+
773
+ - String `code`**Obrigatório.** Descreve o motivo da falha no pagamento que é gerado pelo portal de pagamento e a Meta retorna para os parceiros.- String `reason`**Obrigatório.** Descreve o motivo da falha no pagamento em texto sem formatação, que é gerado pelo portal de pagamento e a Meta retorna para os parceiros.
774
+
775
+ Matriz `refunds`
776
+
777
+ **Opcional.** Lista de reembolsos para o pedido. Cada objeto de reembolso contém os seguintes campos:
778
+
779
+ - String `id`**Obrigatório.** A identificação alfanumérica do reembolso.- Objeto `amount`**Obrigatório.** O valor total do reembolso.- String `speed_processed`**Obrigatório.** Velocidade com que o reembolso foi processado. Pode ser `instant` ou `normal`.- String `status`**Obrigatório.** O status do reembolso. Pode ser `pending`, `success` ou `failed`.- Número inteiro `created_timestamp`**Obrigatório.** O horário em que o reembolso foi criado, medido em segundos epoch.- Número inteiro `updated_timestamp`**Obrigatório.** O horário da última atualização do reembolso em segundos epoch.
780
+
781
+ `additional_info1-7`
782
+
783
+ string
784
+
785
+ **Opcional.**
786
+
787
+ Oferece suporte apenas ao PG do BillDesk, contém valores de string enviados como parte da mensagem de detalhes do pedido.
788
+
789
+ `receipt`
790
+
791
+ string
792
+
793
+ **Opcional.**
794
+
795
+ Oferece suporte apenas ao PG do Razorpay, contém o valor do recibo enviado como parte da mensagem de detalhes do pedido.
796
+
797
+ `notes`
798
+
799
+ objeto
800
+
801
+ **Opcional.**
802
+
803
+ Oferece suporte apenas ao PG do Razorpay, contém os pares de chave-valor enviados como parte da mensagem de detalhes do pedido.
804
+
805
+ `udf1-4`
806
+
807
+ string
808
+
809
+ **Opcional.**
810
+
811
+ Oferece suporte apenas ao PG do PayU, contém valores de string enviados como parte da mensagem de detalhes do pedido.
812
+
813
+ `extra1-2`
814
+
815
+ string
816
+
817
+ **Opcional.**
818
+
819
+ Oferece suporte apenas ao PG do Zaakpay, contém valores de string enviados como parte da mensagem de detalhes do pedido.
820
+
821
+ #### Status do pagamento
822
+
823
+ Status
824
+
825
+ Descrição
826
+
827
+ `pending`
828
+
829
+ O usuário iniciou o processo de pagamento e o objeto de pagamento foi criado
830
+
831
+ `captured`
832
+
833
+ O pagamento foi capturado
834
+
835
+ Veja um exemplo de resposta bem-sucedida:
836
+
837
+ ```
838
+ {  "payments": [{    "reference_id": "reference-id-value",    "status": "status-of-payment",    "currency": "INR",    "total_amount": {      "value": 21000,      "offset": 100    },    "transactions": [      {        "id": "[PG-ORDER-ID]",        "pg_transaction_id": "[PG-TXN-ID]",        "type": "billdesk/razorpay/payu/zaakpay",        "status": "success/failed",        "created_timestamp": "CREATED_TIMESTAMP",        "updated_timestamp": "UPDATED_TIMESTAMP",        "method": {           "type": "upi/card/netbanking/wallet"        },        "error": {           "code": "pg-generated-error-code",           "reason": "pg-generated-descriptive-reason"        },        "refunds": [          {            "id": "[REFUND-ID]",            "amount": {              "value": 100,              "offset": 100            },            "speed_processed": "instant/normal",            "status": "success",            "created_timestamp": "CREATED_TIMESTAMP",            "updated_timestamp": "UPDATED_TIMESATMP",          }        ],      }    ],    "receipt": "receipt-value",    "notes": {      "key1": "value1",      "key2": "value2"    },    "udf1": "udf1-value",    "udf2": "udf2-value",    "udf3": "udf3-value",    "udf4": "udf4-value"    "additional_info1": "additional_info1-value",    "additional_info2": "additional_info2-value",    "additional_info3": "additional_info3-value",    "additional_info4": "additional_info4-value",    "additional_info5": "additional_info5-value",    "additional_info6": "additional_info6-value",    "additional_info7": "additional_info7-value",  }]}
839
+ ```
840
+
841
+ Em caso de erro, a resposta será semelhante a uma resposta de erro para o ponto de extremidade `/v1/messages`. Para ver todos os erros que podem ser retornados e orientações sobre como lidar com eles, consulte [API Local do WhatsApp: Erros](/docs/whatsapp/on-premises/errors). Veja um exemplo de erro genérico:
842
+
843
+ ```
844
+ {  "errors": [{    "code": 500,    "title": "Generic error",    "details": "System error. Please try again."  }]}
845
+ ```
846
+
847
+ ### Etapa 6: atualizar o status do pedido
848
+
849
+ As empresas _devem_ enviar atualizações sobre o pedido usando a mensagem de `order_status` em vez de mensagem de texto, já que o status mais recente de um pedido exibido na página de detalhes é baseado apenas em mensagens de `order_status`.
850
+
851
+ Para enviar notificações de atualização sobre um pedido, use uma mensagem do tipo `interactive``order_status` conforme o exemplo abaixo.
852
+
853
+ ```
854
+ {  "recipient_type": "individual",  "to": "whatsapp-id",  "type": "interactive",  "interactive": {    "type": "order_status",    "body": {      "text": "your-text-body-content"    },    "action": {      "name": "review_order",      "parameters": {        "reference_id": "reference-id-value",        "order": {          "status": "processing | partially_shipped | shipped | completed | canceled",          "description": "optional-text"        }      }    }  }}
855
+ ```
856
+
857
+ Esta tabela descreve os campos da mensagem interativa `order_status`:
858
+
859
+ Objeto
860
+
861
+ Descrição
862
+
863
+ `type`
864
+
865
+ string
866
+
867
+ **Obrigatório.** Deve ser "order\_status".
868
+
869
+ `body`
870
+
871
+ objeto
872
+
873
+ **Obrigatório.**
874
+
875
+ Um objeto com o corpo da mensagem. O objeto contém o seguinte campo:
876
+
877
+ String `text`
878
+
879
+ - **Obrigatório** se `body` estiver presente. O conteúdo da mensagem. Há compatibilidade com emojis e Markdown. O tamanho máximo é de 1.024 caracteres
880
+
881
+ `footer`
882
+
883
+ objeto
884
+
885
+ **Opcional.**
886
+
887
+ Um objeto com o rodapé da mensagem. O objeto contém o seguinte campo:
888
+
889
+ String `text`
890
+
891
+ - **Obrigatório** se `footer` estiver presente. O conteúdo do rodapé. É compatível com emojis, Markdown e links. O comprimento máximo é de 60 caracteres
892
+
893
+ `action`
894
+
895
+ objeto
896
+
897
+ **Obrigatório.**
898
+
899
+ Um objeto de ação que você deseja que o usuário execute após a leitura da mensagem. Esse objeto de ação contém os seguintes campos:
900
+
901
+ String `name`
902
+
903
+ - **Obrigatório.** Deve ser "review\_order".
904
+
905
+ Objeto `parameters`
906
+
907
+ - Para mais informações, consulte [Objeto de parâmetros](#paramobject-orderstatus).
908
+
909
+ O objeto `parameters` contém os seguintes campos:
910
+
911
+ Valor
912
+
913
+ Descrição
914
+
915
+ `reference_id`
916
+
917
+ string
918
+
919
+ **Obrigatório.**
920
+
921
+ A identificação enviada pela empresa na mensagem `order_details`
922
+
923
+ `order`
924
+
925
+ objeto
926
+
927
+ **Obrigatório.** Esse objeto contém os seguintes campos:
928
+
929
+ String `status`
930
+
931
+ - **Obrigatório.** O novo pedido `status`. Deve ser uma das opções: `processing`, `partially_shipped`, `shipped`, `completed`, `canceled`.
932
+
933
+ String `description`
934
+
935
+ - **Opcional.** Texto para compartilhar informações relacionadas ao status em `order_details`. Pode ser útil ao enviar o cancelamento. O limite máximo é de 120 caracteres.
936
+
937
+ A mensagem `order_status` apresenta dois novos erros que são resumidos abaixo.
938
+
939
+ Código de erro
940
+
941
+ Descrição
942
+
943
+ `2046` – Transição de status inválida
944
+
945
+ A transição de status do pedido não é permitida. Para saber mais, clique [aqui](/docs/whatsapp/on-premises/payments-api/p2m-lite#valid-order-status-transition).
946
+
947
+ `2047` – Não é possível cancelar o pedido
948
+
949
+ Não é possível cancelar o pedido, pois o usuário já o pagou. Para saber mais, clique [aqui](/docs/whatsapp/on-premises/payments-api/p2m-lite#canceling-order).
950
+
951
+ Para saber mais sobre outros erros que podem ser retornados e como lidar com eles, consulte [API Local do WhatsApp, Erros](/docs/whatsapp/on-premises/errors).
952
+
953
+ #### Experiência de produto
954
+
955
+ Os clientes recebem cada atualização `order_status` como uma mensagem separada no tópico de conversa, que faz referência à mensagem `order_details` original conforme mostrado abaixo (à esquerda). A página de detalhes do pedido sempre mostra o status válido mais recente comunicado ao cliente usando a mensagem `order_status` conforme mostrado abaixo (à direita).
956
+
957
+ ![Image](https://scontent-gru2-2.xx.fbcdn.net/v/t39.2365-6/562339381_1339318407926810_4795669147224444480_n.jpg?_nc_cat=106&ccb=1-7&_nc_sid=e280be&_nc_ohc=EZGn_9QAVq8Q7kNvwHJkNHd&_nc_oc=AdmelVbiY6vXsJ82-qXxMEVk_3413k_ij485L9L9PLQtZjcbk0wWPTUn0jy3bQ7Ayno&_nc_zt=14&_nc_ht=scontent-gru2-2.xx&_nc_gid=OS7jXrC7KbJQ8kXQPWqWqg&oh=00_Afn_mbyE-y3RMbpXKl4JhmIp7oEg36kEkHnSS2-Nitk0kA&oe=69610F09)
958
+
959
+ ![Image](https://scontent-gru2-2.xx.fbcdn.net/v/t39.2365-6/560623753_1339318321260152_7892260061446227056_n.jpg?_nc_cat=105&ccb=1-7&_nc_sid=e280be&_nc_ohc=KCa_oQHRWWcQ7kNvwExNPgh&_nc_oc=Adm2u4dXJErHF_mJ2s_QpscdN1gmIzM629XUByiCZn5twZLBstLJiA0dPxblNzH1Ds8&_nc_zt=14&_nc_ht=scontent-gru2-2.xx&_nc_gid=OS7jXrC7KbJQ8kXQPWqWqg&oh=00_AfmTM9VSraO3I88lgYybR9OwYujQoI2QRT_OHOYwtde0Qw&oe=69610ABF)
960
+
961
+ #### Status e transições de pedidos com suporte
962
+
963
+ No momento, aceitamos os seguintes valores de status do pedido:
964
+
965
+ Valor
966
+
967
+ Descrição
968
+
969
+ `pending`
970
+
971
+ O usuário ainda não fez o pagamento
972
+
973
+ `processing`
974
+
975
+ Pagamento do usuário autorizado, o comerciante/parceiro está atendendo ao pedido, realizando o serviço, entre outros
976
+
977
+ `partially-shipped`
978
+
979
+ Uma parte dos produtos do pedido foi enviada pelo comerciante
980
+
981
+ `shipped`
982
+
983
+ Todos os produtos do pedido foram enviados pelo comerciante
984
+
985
+ `completed`
986
+
987
+ O pedido foi concluído, e nenhuma outra ação é esperada do usuário ou do parceiro/comerciante
988
+
989
+ `canceled`
990
+
991
+ O parceiro/comerciante quer cancelar a mensagem `order_details` do pedido/fatura. A atualização de status falhará se já houver um pagamento `successful` ou `pending` para esta mensagem `order_details`
992
+
993
+ As transições de status do pedido são restritas para garantir a consistência da experiência do consumidor. As transições de status permitidas estão resumidas abaixo:
994
+
995
+ - O status inicial de um pedido é sempre `pending`, que é enviado na mensagem `order_details`.- `canceled` e `completed` são o status do terminal e não podem ser atualizados para qualquer outro status.- O status `pending` pode mudar para qualquer um dos outros, incluindo `processing`, `shipped` e `partially-shipped`.- `processing`, `shipped` e `partially-shipped` são status equivalentes e podem alternar entre si ou para um dos status terminal.
996
+
997
+ ![Image](https://scontent-gru1-2.xx.fbcdn.net/v/t39.2365-6/564186195_1339318097926841_2291536531212610046_n.jpg?_nc_cat=108&ccb=1-7&_nc_sid=e280be&_nc_ohc=oSVGFJypd5QQ7kNvwERtp99&_nc_oc=AdkNJ7O0f__xiANdWoOKU-SlzinhfFFqJzVHZ9wjKVIzrOvJbbbIhylqPOh_R7tK4NY&_nc_zt=14&_nc_ht=scontent-gru1-2.xx&_nc_gid=OS7jXrC7KbJQ8kXQPWqWqg&oh=00_AfmUM9ZfcDWLg9yQMMkc4wUTdqr-1J1bcvdFuybg0PPWow&oe=6961242D)
998
+
999
+ Ao enviar uma mensagem `order_status` com uma transição inválida, você receberá um webhook de erro com o código de erro `2046` e a mensagem "New order status was not correctly transitioned" ("Houve falha na transição do novo status do pedido").
1000
+
1001
+ #### Cancelar um pedido
1002
+
1003
+ É possível `canceled` um pedido enviando uma mensagem `order_status` com o status `canceled`. O cliente não pode pagar por um pedido cancelado. O cliente recebe uma mensagem `order_status`, a página de detalhes do pedido é atualizada para mostrar que o pedido foi cancelado e o botão "Continuar" é removido. O texto _opcional_ exibido abaixo de "Pedido cancelado" na página de detalhes do pedido pode ser especificado usando o campo `description` na mensagem `order_status`.
1004
+
1005
+ Os pedidos só poderão ser cancelados se o usuário ainda não tiver feito o pagamento. Se o usuário tiver feito o pagamento e a empresa enviar uma `order_status` com o status `canceled`, você receberá um webhook de erro com o código de erro `2047` e a mensagem "Não foi possível alterar o status do pedido para 'cancelado'".
1006
+
1007
+ ### Etapa 7: reconciliar pagamentos
1008
+
1009
+ O WhatsApp não oferece suporte para reconciliações de pagamento. As empresas devem usar a conta do portal de pagamento para reconciliar os pagamentos usando o `reference_id` fornecido nas mensagens `order_details` e o `id` das transações retornadas como parte da consulta de pesquisa de pagamento.
1010
+
1011
+ ### Etapa 8: reembolsos
1012
+
1013
+ A empresa pode iniciar um reembolso para um pedido. Para tal, as empresas devem fazer uma chamada POST para o ponto de extremidade `/[PHONE_NUMBER_ID]/payments_refund` com o seguinte objeto `JSON`:
1014
+
1015
+ ```
1016
+ {  "reference_id": "reference-id-value",  "speed": "normal",  "payment_config_id": "payment-config-id",  "amount": {    "currency": "INR",    "value": "100",    "offset": "100"  }}
1017
+ ```
1018
+
1019
+ A tabela a seguir descreve os campos do objeto de solicitação do ponto de extremidade de reembolsos:
1020
+
1021
+ Campo
1022
+
1023
+ Descrição
1024
+
1025
+ `reference_id`
1026
+
1027
+ string
1028
+
1029
+ **Obrigatório.**
1030
+
1031
+ Identificação de referência única para o pedido enviado na mensagem `order_details`.
1032
+
1033
+ `speed`
1034
+
1035
+ string
1036
+
1037
+ **Opcional.**
1038
+
1039
+ Velocidade pela qual o reembolso deve ser processado. Pode ser `instant` ou `normal`.
1040
+
1041
+ `payment_config_id`
1042
+
1043
+ string
1044
+
1045
+ **Obrigatório.**
1046
+
1047
+ A configuração de pagamento do pedido enviada na mensagem `order_details`.
1048
+
1049
+ `amount`
1050
+
1051
+ objeto
1052
+
1053
+ **Obrigatório.**
1054
+
1055
+ O objeto `amount` contém os seguintes campos:
1056
+
1057
+ String `offset`
1058
+
1059
+ - **Obrigatório.** Deve ser `100` para `INR`.
1060
+
1061
+ String `value`
1062
+
1063
+ - **Obrigatório.** Número inteiro positivo que representa o valor do montante multiplicado pelo fator de ajuste. Por exemplo, ₹12,34 tem o valor 1234.
1064
+
1065
+ String `currency`
1066
+
1067
+ - **Obrigatório.** A moeda usada para o reembolso. No momento, o único valor aceito é INR.
1068
+
1069
+ As empresas devem esperar uma resposta na mesma sessão HTTP (não em uma notificação de webhook) que contenha os seguintes campos:
1070
+
1071
+ Campo
1072
+
1073
+ Descrição
1074
+
1075
+ `id`
1076
+
1077
+ string
1078
+
1079
+ **Obrigatório.**
1080
+
1081
+ A identificação única que representa o reembolso iniciado.
1082
+
1083
+ `status`
1084
+
1085
+ string
1086
+
1087
+ **Obrigatório.**
1088
+
1089
+ O status do reembolso. Pode ser `pending`, `failed` ou `completed`
1090
+
1091
+ `speed_processed`
1092
+
1093
+ string
1094
+
1095
+ **Obrigatório.**
1096
+
1097
+ Velocidade com que o reembolso foi processado. Pode ser `instant` ou `normal`. Os PGs são os principais árbitros do modo de velocidade em que o reembolso será realizado. Isso pode NÃO corresponder sempre ao que foi incluído nos parâmetros da solicitação.
1098
+
1099
+ Veja um exemplo de resposta bem-sucedida:
1100
+
1101
+ ```
1102
+ {  "id": "refund-id",  "status": "pending",  "speed_processed": "normal"}
1103
+ ```
1104
+
1105
+ ## Forma de pagamento via UPI preferida do comerciante
1106
+
1107
+ Agora, os comerciantes podem especificar até `one` app de pagamento da UPI para ser exibido no fluxo de finalização da compra. O app de pagamento preferido do comerciante aparecerá no topo da lista de apps da UPI disponíveis na tela "Escolher forma de pagamento". Para ativar esse recurso, é necessário que os parceiros especifiquem o app-id externo na mensagem order details ou order-invoice.
1108
+
1109
+ Observação: esse recurso está disponível em apps para consumidores na versão 2.24.21.0 e posteriores
1110
+
1111
+ ### Atualizações na carga de detalhes do pedido
1112
+
1113
+ ```
1114
+ {  "messaging_product": "whatsapp",  "interactive": {    "action": {      "name": "review_and_pay",      "parameters": {        "payment_settings": [           {             "type": "payment_gateway",             "payment_gateway": {               "preferred_payment_methods": [                 {                   "method": "Application-ID"                 }               ]             }           }        ],      "order": ..      }    }  }}
1115
+ ```
1116
+
1117
+ ### Lista de apps compatíveis:
1118
+
1119
+ App da UPI
1120
+
1121
+ Identificação do app a ser transmitido na carga de detalhes do pedido
1122
+
1123
+ Google Pay
1124
+
1125
+ gpay
1126
+
1127
+ PhonePe
1128
+
1129
+ phonepe
1130
+
1131
+ PayTm
1132
+
1133
+ paytm
1134
+
1135
+ BHIM
1136
+
1137
+ bhim
1138
+
1139
+ Amazon Pay
1140
+
1141
+ amazonpay
1142
+
1143
+ CRED
1144
+
1145
+ cred
1146
+
1147
+ Mobikwik
1148
+
1149
+ mobikwik
1150
+
1151
+ ## Restringir opções de pagamento disponíveis
1152
+
1153
+ Os comerciantes podem especificar quais opções de pagamento serão exibidas no fluxo de finalização da compra entre UPI e opções da web. Isso permitirá que os comerciantes habilitem apenas a UPI ou o cartão de crédito (qualquer opção de pagamento disponível) para aceitar pagamentos de faturas.
1154
+
1155
+ Observação: esse recurso está disponível em apps para consumidores na versão 2.24.22.4 e posteriores
1156
+
1157
+ ### Atualizações na carga de detalhes do pedido
1158
+
1159
+ ```
1160
+ {  "messaging_product": "whatsapp",  "interactive": {    "action": {      "name": "review_and_pay",      "parameters": {        "payment_settings": [           {             "type": "payment_gateway",             "payment_gateway": {                "enabled_payment_options": ["upi"/"web"]             },           }        ],      "order": ...      }    }  }}
1161
+ ```
1162
+
1163
+ ### Lista de opções de pagamento
1164
+
1165
+ Opção habilitada
1166
+
1167
+ Experiência no fluxo de finalização da compra
1168
+
1169
+ upi
1170
+
1171
+ Apenas apps de UPI são exibidos no fluxo de finalização da compra
1172
+
1173
+ web
1174
+
1175
+ A página do portal de pagamento é carregada, e as opções de pagamento configuradas na conta do portal do comerciante serão exibidas no fluxo de finalização da compra.
1176
+
1177
+ Alguns portais de pagamento permitem a personalização das opções de pagamento exibidas no link de pagamento ou no fluxo de finalização da compra baseado na web. Entre em contato com o portal de pagamento para restringir as opções de pagamento no link ou página da web.
1178
+
1179
+ ## Validação de terceiros com os portais de pagamento Razorpay e PayU
1180
+
1181
+ Agora, oferecemos suporte para TPV no RazorPay e no PayU. Isso permite que os comerciantes especifiquem as contas de consumidores para as quais os pedidos precisam ser pagos. Como as informações bancárias do consumidor são sensíveis, trabalhe com os portais de pagamento para obter a chave de criptografia pública e transmitir as informações de criptografia como parte da mensagem de detalhes do pedido.
1182
+
1183
+ Para usar esse recurso que está em fase alfa de testes, entre em contato com a equipe de pagamentos da Meta: whatsappindia-bizpayments-support@meta.com
1184
+
1185
+ ### Atualizações na carga de detalhes do pedido para dar suporte a TPV para comerciantes do Razorpay
1186
+
1187
+ ```
1188
+ {  "messaging_product": "whatsapp",  "interactive": {    "action": {      "name": "review_and_pay",      "parameters": {        "payment_settings": [          {            "type": "razorpay",            "razorpay": {              "encrypted_payment_gateway_data": "encrypted-data"            }          }        ],        "order": {}      }    }  }}
1189
+ ```
1190
+
1191
+ O valor bruto antes da criptografia deve ficar assim:
1192
+
1193
+ ```
1194
+ {  "bank_account": {    "account_number": "account-no",    "name": "consumer-cbs-name",    "ifsc": "ifsc-code"  }}
1195
+ ```
1196
+
1197
+ ### Atualizações na carga de detalhes do pedido para dar suporte a TPV para comerciantes do PayU
1198
+
1199
+ ```
1200
+ {  "messaging_product": "whatsapp",  "interactive": {    "action": {      "name": "review_and_pay",      "parameters": {        "payment_settings": [          {            "type": "payu",            "payu": {              "encrypted_payment_gateway_data": "encrypted-data"            }          }        ],        "order": {}      }    }  }}
1201
+ ```
1202
+
1203
+ O valor bruto antes da criptografia deve ficar assim:
1204
+
1205
+ ```
1206
+ {  "beneficiaryDetail" : {    "beneficiaryAccountNumber" : "account_number1|account_number2",    "ifscCode" : "ifsc1|ifsc2",  }}
1207
+ ```
1208
+
1209
+ Trabalhe com as equipes da Meta e do portal de pagamento (RazorPay ou PayU) para habilitar esse recurso, já que ainda estamos na fase de testes alfa.
1210
+
1211
+ ## Considerações sobre segurança
1212
+
1213
+ As empresas devem cumprir os requisitos obrigatórios e de segurança locais na Índia. Elas não devem confiar apenas no status da transação fornecido no webhook e devem usar a API de pesquisa de pagamento para recuperar os status diretamente do WhatsApp. As empresas sempre devem validar os dados nas respostas da API ou webhooks para se protegerem contra ataques de SSRF.
1214
+
1215
+ ## Lista de verificação para comerciantes integrados
1216
+
1217
+ - Garanta que a mensagem `order_status` seja enviada ao consumidor para informá-lo sobre as atualizações de um pedido após o recebimento das atualizações de transação correspondentes.
1218
+ - Garanta que o comerciante esteja verificado e que o contato WABA esteja marcado com o selo de verificação.
1219
+ - Confirme se a WABA está associada ao nível adequado de mensagens iniciadas pelo comerciante (1 mil, 10 mil ou 100 mil por dia)
1220
+ - O comerciante deve listar as informações de suporte ao cliente na tela de perfil caso o consumidor queira relatar problemas.
1221
+ - Migre para "payment\_settings" em vez de "payment\_type" e "payment\_configuration". Essa é a forma recomendada e permite o acesso a recursos como campos de "notes" e "udf". Para ver um exemplo, [visualize as cargas acima](#step-1).
1222
+
1223
+
1224
+ Você achou esta página útil?
1225
+
1226
+ ![Ícone de polegar para cima](https://static.xx.fbcdn.net/rsrc.php/yR/r/OEXJ0_DJeZv.svg)
1227
+
1228
+ ![Ícone de polegar para baixo](https://static.xx.fbcdn.net/rsrc.php/yb/r/qKPgNVNeatU.svg)