Spanish Api Payu

Discussion in 'Spanish Forum' started by soyVB6, May 20, 2019.

  1. soyVB6

    soyVB6 Active Member Licensed User

    Hola chicos...
    Estoy teniendo problemas para hacer una solicitud pos a la api de payu

    en su documentación piden que la petición se haga con esta configuración para recibir respuesta en JSON

    HTML:
    POST /payments-api/4.0/service.cgi HTTP/1.1 
    Host: sandbox.api.payulatam.com
    Content-Type: application/json; charset=utf-8
    Accept: application/json
    Content-Length: length
    {
       "test": false,
       "language": "en",
       "command": "GET_PAYMENT_METHODS",
       "merchant": {
          "apiLogin": "xxxxxxxxxxxxx",
          "apiKey": "xxxxxxxxxxxxx"
       }
    }
    pero no consigo configurar esto en b4a con el uso de HttpJob

    help :(
     
  2. Descartex

    Descartex Well-Known Member Licensed User

    Muy buenas.
    Debes meter todos los datos que te piden en un map y luego parsearlo a json.
    Code:
    Dim MapDatos as Map
    MapDatos=CreateMap(
    "test":false,"language":"en","command":"GET_PAYMENT_METHODS","merchant":CreateMap("apiLogin":"tuapilogindata","apiKey":"tuapikey"))
    Dim json As JSONGenerator
    json.Initialize2(MapDatos)
    'Luego pasas los datos por post como string
    Dim JobApi as HttpJob
    JobApi.Initialize(
    "ApiPayu",Me)
    JobApi.PostString(
    "urldepayu",json.ToString)
    EDITO:
    Ojo, si Payu te pide los datos como parte de una variable, has de añadirla, por ejemplo que te pidan la variable "datos":
    Code:
    JobApi.PostString("urldepayu","datos="&json.ToString)
    Un saludo.
     
    José J. Aguilar and soyVB6 like this.
  3. soyVB6

    soyVB6 Active Member Licensed User

    Gracias por la pronta respuesta JSON fue resuelto
    pero el verdadero problema esta en la configuración de los encabezados
    payu exige....
    HTML:
    POST /payments-api/4.0/service.cgi HTTP/1.1
    Host: sandbox.api.payulatam.com
    Content-Type: application/xml; charset=utf-8
    Accept: application/xml
    Content-Length: length
     
  4. Descartex

    Descartex Well-Known Member Licensed User

    Code:
    JobApi.GetRequest.SetContentType("application/json")
    Con eso deberia bastar
     
  5. soyVB6

    soyVB6 Active Member Licensed User

    Yo intente configurar esto en b4a así:

    Code:
    post.GetRequest.SetHeader("POST","payments-api/4.0/service.cgi HTTP/1.1")
        post.GetRequest.SetHeader(
    "Host:","sandbox.api.payulatam.com")
        post.GetRequest.SetContentType(
    "application/json; charset=utf-8")
        
    ''post.GetRequest.SetHeader("Content-Type:","application/json; charset=utf-8")
        post.GetRequest.SetHeader("Accept:","application/json")
        post.GetRequest.SetHeader(
    "Content-Length:","length")
    Sin éxito, al parecer no tengo bien configurado el encabezado y no se como hacerlo
    Help !
     
  6. Descartex

    Descartex Well-Known Member Licensed User

    Pon solo el encabezado que te puse y pega la respuesta del servidor (ocultando si hay algun dato privado, claro)
     
    soyVB6 likes this.
  7. Descartex

    Descartex Well-Known Member Licensed User

    soyVB6 likes this.
  8. soyVB6

    soyVB6 Active Member Licensed User

    Funciono
    Muchas gracias
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice