¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo usar una API para pagar mediante enlace: Guía para principiantes

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 3 Vistas
0
Cargando...

Hola expertos,

Soy nueva trabajando con APIs. Me han pedido que use una API para pagar mediante enlace.

Así es como se ve la API en postman:

Y así es como se ve mi informe:

REPORT  zzmaria.

TYPES: BEGIN OF ty_json_req,
         reference        TYPE string,
         value            TYPE string,
         currency         TYPE string,
         countrycode      TYPE string,
         merchantaccount  TYPE string,
         shopperreference TYPE string,
         shopperemail     TYPE string,
         shopperlocale    TYPE string,
         key              TYPE string,
       END OF ty_json_req.

DATA: l_datos TYPE ty_json_req,
      t_datos TYPE STANDARD TABLE OF ty_json_req.
DATA gs_json TYPE string.
*HTTP Client Abstraction
DATA: lo_client    TYPE REF TO if_http_client.


DATA : lo_http_client TYPE REF TO if_http_client,
       lv_response    TYPE string,
       lv_sap_res     TYPE string.
DATA : l_str_length     TYPE i.
DATA : mime      TYPE w3mimetabtype.
DATA : lo_http_request TYPE REF TO if_http_entity.

START-OF-SELECTION.


*Variables de datos para almacenar la respuesta en xstring y string
  DATA  : lv_xstring   TYPE xstring,
          lv_string    TYPE string,
          lv_body    TYPE string,
          lv_node_name TYPE string.

  CLEAR : lv_xstring, lv_string, lv_node_name.

  DATA  : lv_cdata     TYPE string.
  DATA  : lv_content_length_value TYPE i.

  CLEAR : lv_cdata, lv_content_length_value, gs_json.

*Pasar la URL para obtener datos
  lv_string = 'https://XXXXXXXXXXXXXX/paymentLinks'.


*Creación de un nuevo objeto IF_lo_http    
            
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Dado que tu llamada de API funciona en Postman, debes usar el nivel de anidación adecuado en la tipificación ABAP para poder generar el formato JSON adecuado:

TYPES BEGIN OF ty_json_req.
    ...
    TYPES BEGIN OF amount.
    TYPES value TYPE string.
    TYPES currency TYPE string.
    TYPES END OF amount.
    ....
    TYPES END OF ty_json_req.<br>

Y debes usar el siguiente parámetro de serialización para obtener resultados en minúsculas, ya que es mucho más limpio y seguro que una corrección posterior:

pretty_name  = /ui2/cl_json=>pretty_mode-camel_case

Si nombras un componente ABAP, por ejemplo, shopper_reference, debería traducirse a shopperReference en JSON

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Tienes razón, Sandra. He editado la pregunta.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Si dices que hay un error, proporciona información sobre el error, dónde ocurre, cuáles son los detalles exactos de este error, etc.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Dado que tu llamada de API funciona en Postman, debes usar el nivel adecuado de anidamiento en la tipificación ABAP para poder generar el formato JSON correcto:

TYPES BEGIN OF ty_json_req.
...
TYPES BEGIN OF amount.
TYPES value TYPE string.
TYPES currency TYPE string.
TYPES END OF amount.
....
TYPES END OF ty_json_req.<br>

Y debes usar el siguiente parámetro de serialización para obtener resultados en minúsculas, ya que es mucho más limpio y seguro que una corrección posterior:

pretty_name  = /ui2/cl_json=>pretty_mode-camel_case

Si nombras un componente ABAP como shopper_reference, debería traducirse a shopperReference en JSON

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?