Hoe kan ik deze curl regels omzetten in bruikbare PHP code?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java developer met testervaring

Java developer met testervaring Functieomschrijving "De drempel tussen de burger en de Belastingdienst zo laag mogelijk houden: dat is de belangrijke taak van ons team. Dit doen we door het burgerportaal Mijn Belastingdienst continu te verbeteren." René, Java-specialist bij de Belastingdienst. De keten Interactie is een samenwerkingsverband van alle dienstonderdelen binnen de Belastingdienst. Samen zorgen we dat het contact met burgers en bedrijven goed kan plaatsvinden. Onze belangrijkste opgave? Zoveel mogelijk digitaliseren. Dat doen we binnen het onderdeel Informatievoorzieningen (IV), de ICT-organisatie van de Belastingdienst. Denk bij de producten die IV-Interactie ontwikkelt en onderhoudt aan portalen, formulieren en authenticatie- en

Bekijk vacature »

Full Stack Developer Industriële Automatiseri

Raster wordt continu betrokken bij complexe en baanbrekende projecten in industriële automatisering. Ons team is gespecialiseerd in productie automatisering en proces automatisering projecten waarin procesveiligheid een belangrijk aspect is. Ons compact en groeiend OX (Operational Excellence) team ontwikkelt, configureert en levert support op zelfontwikkelde applicaties waarmee onze klanten hun productieprocessen slimmer, sneller, goedkoper en veiliger maken. Operational Excellence wordt zichtbaar gemaakt in resultaten. Bij bedrijven met dezelfde strategie, zal een operationeel excellent bedrijf een lager operationeel risico, lagere operationele kosten hebben en relatief meer winst maken. Het Raster OX team laat haar klanten de resultaten behalen door hun eigen procesdata

Bekijk vacature »

Snelle Jaap

Snelle Jaap

28/03/2018 12:07:10
Quote Anchor link
Ik gebruik een api om betalen op een website mogelijk te maken.
Dat werkt prima, maar ik haal nu resultaten op in json formaat door paramaters door te geven via file_get_contents. Alle parameters worden verstuurd via 1 link om een betaal url te genereren. Dit betekend dat de url die binnen mijn file_get_contents functie staat gemiddeld richting de 1000 tekens lang is. Het blijkt dat veel browsers een limiet hebben van rond de 2000 tekens voor een url, om hier niet tegenaan te lopen heb ik besloten ipv file_get_contents om curl te gebruiken om de resultaten op te halen.

Nou staat in hun handleiding de volgende code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
curl --request POST \
  --url https://rest-api.pay.nl/v7/Transaction/start/json \
  --header 'authorization: Basic dG9rZW46PHlvdXItYXBpLXRva2VuPg==' \
  --header 'cache-control: no-cache' \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data-urlencode 'serviceId=SL-3490-4320' \
  --data-urlencode 'amount=100' \
  --data-urlencode 'ipAddress=1.2.3.4' \
  --data-urlencode 'finishUrl=https://www.domain.com/return' \
  --data-urlencode 'paymentOptionId=436' \
  --data-urlencode 'transaction[description]=My first payment'


Bovenstaand is geen PHP, nou heb ik een beetje zitten lezen over curl maar ik kom er niet uit hoe deze regels tot PHP om te zetten.

Het meesturen van headers lukt me bijvoorbeeld maar hoe kan ik data-urlencode gebruiken?

Toevoeging op 28/03/2018 12:20:13:

Dat encoden lijkt me noodzakelijk zeker bij een betaalsysteem. Ik verstuur mijn gegevens nu op de volgende manier:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$vars = 'serviceId=SL-9697-8091&amount=100&ipAddress=127.0.0.1&finishUrl=http://www.google.nl/';

Hoe kan ik dit beter doen?
 
PHP hulp

PHP hulp

17/10/2021 23:38:22
 
Ben van Velzen

Ben van Velzen

28/03/2018 12:48:21
Quote Anchor link
data-urlencode is gewoon urlencode() in PHP. Dat zul je echter op de losse waarden moeten doen en niet rechtstreeks op $vars.
 
Snelle Jaap

Snelle Jaap

28/03/2018 12:53:23
Quote Anchor link
Ben van Velzen op 28/03/2018 12:48:21:
data-urlencode is gewoon urlencode() in PHP. Dat zul je echter op de losse waarden moeten doen en niet rechtstreeks op $vars.


Ik dacht dat het met veiligheid te maken had, dus eigenlijk kan ik net zo goed een array maken met al mijn te versturen gegevens en daar http_build_query op gebruiken?
 
Ben van Velzen

Ben van Velzen

28/03/2018 16:59:25
Quote Anchor link
Correct. Het heeft te maken met veiligheid, namelijk protocolveiligheid. Het zal niets versleutelen, daar is HTTPS voor.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.