Estas son las urls para realizar las pruebas:
1) - Ejemplo POST para crear POS
POST https://api.mercadopago.com/pos?access_ ... cess_token>
{
"name":"Surtidor 1",
"category": 473000,
"url": "api.integration.com?apies=1&pos=1"
}
name: Nombre descriptivo. Es un String de hasta 45 caracteres.
category: Para petroleras es 473000.
url: URL del servidor del sistema de gestión que devuelva los datos de un surtidor o bomba de una determinada estación.
2) - Buscar todos los POS
GET https://api.mercadopago.com/pos?access_ ... cess_token>
3) - Buscar por pos_id
GET https://api.mercadopago.com/pos/<pos_id ... cess_token>
Para realizar POS (Point of Sale) por ahora no está implementado, lo dejo para mas adelante, pero he implementado buscar POS por ID y buscar todos los POS de un Usuario (de Prueba) el tema es que en ambos procedimientos me salta el mismo error: "La dirección URL no es válida" y Hrequest siempre biene en 0.
Verprocedimeientos btObtenerPagosClick() y btBuscaPagoClick()
Importante: Si copio las Urls en la barra de dirreccion del navegador puedo botener los datos del POS:
Buscar todos los POS
https://api.mercadopago.com/pos?access_ ... -397908435
Buscar un POS por ID
https://api.mercadopago.com/pos/174025? ... -397908435
Dejo la url con el Flujo de las Petroleras, y el codigo que me esta dando error
https://www.mercadopago.com.ar/develope ... s-station/
Codigo:
Código: Seleccionar todo
/*
* Proyecto: mp
* Fichero: Form2.prg
* Fecha: 28/05/2019
*/
#include "Xailer.ch"
#include "ExStruct.ch"
#include "hbxml.ch"
CLASS TForm2 FROM TForm
COMPONENT oBevel1
COMPONENT btObtenerPagos
COMPONENT btBuscaPago
COMPONENT btRealizarPOS
DATA cIdUsuario INIT '397908435'
DATA cTokenAccesoProd INIT 'APP_USR-6820346994844219-012800-f1718af310c897b283b956a2fbe47e89-'
METHOD CreateForm()
METHOD btObtenerPagosClick( oSender )
METHOD btBuscaPagoClick( oSender )
METHOD FormInitialize( oSender )
METHOD btRealizarPOSClick( oSender )
ENDCLASS
#include "Form2.xfm"
//------------------------------------------------------------------------------
STATIC FUNCTION UUrlEncode( cString )
LOCAL nI, cI, cRet := ""
FOR nI := 1 TO Len( cString )
cI := SubStr( cString, nI, 1 )
IF cI == " "
cRet += "+"
ELSEIF Asc( cI ) >= 127 .OR. Asc( cI ) <= 31
cRet += "%" + hb_StrToHex( cI )
ELSE
cRet += cI
ENDIF
NEXT
RETURN cRet
//------------------------------------------------------------------------------
METHOD FormInitialize( oSender ) CLASS TForm2
::lCentered:=.T.
RETURN Nil
//------------------------------------------------------------------------------
METHOD btObtenerPagosClick( oSender ) CLASS TForm2
LOCAL hRequest, cBuffer := Space( 1024 ), cData := ""
LOCAL cUrl1:='https://api.mercadopago.com', cUrl2:='/pos?access_token='
LOCAL debug:=''
WITH OBJECT TInternet():Create()
IF :Open()
IF :Connect( cUrl1 )
hRequest := :GetRequest(cUrl1+cUrl2+::cTokenAccesoProd+::cIdUsuario)
debug:=cUrl1+cUrl2+::cTokenAccesoProd+::cIdUsuario
IF ! Empty( hRequest )
WHILE :ReadFile( hRequest, @cBuffer, 1024 )
cData += cBuffer
cBuffer := Space( 1024 )
END
:CloseRequest( hRequest )
MemoWrit( "c:test.html", cData )
ENDIF
ENDIF
debug:=:GetErrorDescription(:nLastError())
:Close()
ENDIF
END
RETURN Nil
//------------------------------------------------------------------------------
METHOD btBuscaPagoClick( oSender ) CLASS TForm2
LOCAL hRequest, cBuffer := Space( 1024 ), cData := ""
LOCAL cUrl1:='https://api.mercadopago.com', cUrl2:='/pos/174025?access_token='
LOCAL debug:=''
WITH OBJECT TInternet():Create()
IF :Open()
IF :Connect( cUrl1 )
hRequest := :GetRequest(cUrl1+cUrl2+::cTokenAccesoProd+::cIdUsuario)
debug:=cUrl1+cUrl2+::cTokenAccesoProd+::cIdUsuario
IF ! Empty( hRequest )
WHILE :ReadFile( hRequest, @cBuffer, 1024 )
cData += cBuffer
cBuffer := Space( 1024 )
END
:CloseRequest( hRequest )
MemoWrit( "c:test.html", cData )
ENDIF
ENDIF
debug:=:GetErrorDescription(:nLastError())
:Close()
ENDIF
END
RETURN Nil
//------------------------------------------------------------------------------
METHOD btRealizarPOSClick( oSender ) CLASS TForm2
// No esta Implementado
RETURN Nil
//------------------------------------------------------------------------------