GPO command is constructed as follows:
CLA '80'
INS 'A8'
P1 '00'
P2 '00'
Lc var.
Data PDOL Related Data
Le '00'
Based on your PDOL, you need to provide the following data:
9F66 (?) 4 bytes
9F02 (amount authorized) 6 bytes
9F03 (amount other) 6 bytes
9F1A (terminal country code) 2 bytes
95 (TVR - Terminal Verification Results) 5 bytes
5F2A (terminal currency code) 2 bytes
9A (transaction date) 3 bytes
9C (transaction type) 1 bytes
9F37 (unpredictable number) 4 bytes
(You will need to parse the PDOL but you can also use the online TVR decoder to parse it.)
Basically you need to populate the DOL with values for the requested tags (in the order they appear). For example, if you populate only the amount, the DOL will look like this:
000000001122334455660000000000000000000000000000000000000000000000
And your GPO command will be:
80A8000023832100000000112233445566000000000000000000000000000000000000000000000000
^^
Where the hex value 21
(that is 33) is the length of the DOL.
Hope this helps. You can refer to the EMV specifications for more details. https://www.emvco.com/emv-technologies/contactless/