Results 1 to 7 of 7

Thread: MOLLIE API REST uitdaging

  1. #1

    MOLLIE API REST uitdaging

    Ik probeer met de TRestClient, TRestRequest, TRestResponce en TOAuthentiocator ver bindign te krijgen met de Mollie API.

    Ik wil een betaallink ontvangen, en in Postman heb ik dit werkende, en krijg ik netjes een url terug.

    Maar omzetten naar Delphi is een uitdaging, ik merk dat ik vast loop. Kan iemand mij een hint geven??

    ALs ik deze code uitvoer krijg ik de foutmelding: Unprocessable Entity 422.

    HTML Code:
    {"status":422,"title":"Unprocessable Entity","detail":"Non-existent body parameter \"description\" for this API call.","field":"description","_links":{"documentation":{"href":"https://docs.mollie.com/overview/handling-errors","type":"text/html"}}}
    Mollie documentatie
    https://docs.mollie.com/reference/v2...e-payment-link


    Code:
    Var
      RestApiUrl    : String;
      BEARERToken   : String;
      JSONToSend    : String;
      ContentLength : Integer;
      JSONStream    : TStringStream;
    begin
      JSONToSend    :=  '{"description":"TEST Bestelling 1234567890 van 29-11-2021  12:15:27","amount":{"currency":"EUR","value":"713.90"},"redirectUrl":"https://shop.bedrijf.nl/"}';
      RestApiUrl    :=  'https://api.mollie.com/v2/payment-links';
      BEARERToken   :=  eBearerToken.Text;
      JsonStream    :=  TStringStream.Create(JSONToSend);
      MollieRestClient.BaseURL := RestApiUrl;
      MollieRestRequest.Params.Clear;
      MollieRestRequest.AddAuthParameter('Authorization', 'Bearer ' + BEARERToken, TRESTRequestParameterKind.pkHTTPHEADER,[TRESTRequestParameterOption.poDoNotEncode]);
      MollieRestRequest.AddParameter('Content-Type', 'application/json', TRESTRequestParameterKind.pkHTTPHEADER, [poDoNotEncode]);
      MollieRestRequest.AddParameter('Accept', 'application/json', TRESTRequestParameterKind.pkHTTPHEADER, [poDoNotEncode]);
      MollieRestRequest.AddParameter('Accept-Encoding', 'gzip, deflate, br', pkHTTPHEADER);
      MollieRestRequest.AddBody(JsonStream, ctAPPLICATION_JSON);
      MollieRestRequest.Response := MollieRestResponse;
      MollieRestRequest.Execute;

  2. #2
    Gebruik je de juiste method (post)?
    1+1=b

  3. #3
    Mhhhh. die stond inderdaad niet op POST

    Nu krijg ik foutmelding 'Method not allowed 405'

    {"status":405,"title":"Method Not Allowed","detail":"Method Not Allowed","_links":{"documentation":{"href":"https://docs.mollie.com/overview/handling-errors","type":"text/html"}}}

  4. #4
    Ik heb het werkende, blijkbaar te veel aangepast. En GET ipv POST (Dank GolezTrol voor de hint!)

    Met onderstaande code werkt het:
    Code:
      MollieRestRequest.ResetToDefaults;
      MollieRestClient.ResetToDefaults;
      MollieRestResponse.ResetToDefaults;
      MollieRestClient.BaseURL        := RestApiUrl;
      MollieRestClient.Authenticator  := MollieOAuth2;
      MollieRestRequest.AddBody(JsonStream, ctAPPLICATION_JSON);
      MollieRestRequest.Method        := TRESTRequestMethod.rmPOST;
      MollieRestRequest.Response      := MollieRestResponse;
      MollieRestRequest.Execute;

  5. #5
    Hi

    Ik heb de code uit deze thread werkend voor een betaling. En het betaalverzoek wordt binnen Mollie aangemaakt.
    Hoe krijg ik nu ALLEEN de url van de betaallink terug (even voor test in een memo veld)

    Greetz Peter

  6. #6
    Zo te zien zit die in de json response die de call teruggeeft, volgens de documentatie in de eerste post.
    1+1=b

  7. #7
    Klopt, Mollie geeft een JSON string als response, met hierin een aantal zaken.

    Zie: https://docs.mollie.com/reference/v2...e-payment-link

    Deze file heb ik verder uitgelezen en gebruikt

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •