With Peach payments, you can do a custom integration with our hosted payments page.


If you checkout on this Shopify store, you should see how the hosted payments page looks like.


Shopify demo: https://peach-payments-demo.myshopify.com/ 


Let's consider you are building a custom web app, and not using a CMS, the integration guide for the Hosted payments page is attached.


Step 1: Generate signature


Use a tool such as https://www.freeformatter.com/hmac-generator.html  to verify your HMAC256 algorithm



Sample Concatenated String:


amount2authentication_entityId8ac7a4c8708b8dae01708be6bb3b018ecurrencyZARdefaultPaymentMethodCARDSmerchantTransactionIdmmrrttnonceggttrrpaymentTypeDBshopperResultUrlhttp://www.peachpayments.com




Step 2: Generate Checkout


Checkout using params:


    [amount] => 2

    [authentication_entityId] => 8ac7a4c8708b8dae01708be6bb3b018e

    [currency] => ZAR

    [defaultPaymentMethod] => CARDS

    [merchantTransactionId] => q4

    [nonce] => q4

    [paymentType] => DB

    [shopperResultUrl] => http://www.peachpayments.com

    [signature] => 5172b01bf70271c06179e6c51957231dda23fe9318eb58ec2b4259590c80d69b


Here is a sample HTML form with the above.


<!DOCTYPE HTML>

<form name="form" action="https://testsecure.peachpayments.com/checkout" method="POST" accept-charset="utf-8">

    <input type="hidden" name="amount" value="70" />

    <input type="hidden" name="authentication.entityId" value="8ac7a4c8708b8dae01708be6bb3b018e" />

    <input type="hidden" name="currency" value="ZAR" />

    <input type="hidden" name="merchantTransactionId" value="q4" />

    <input type="hidden" name="nonce" value="q4" />

    <input type="hidden" name="paymentType" value="DB" />

    <input type="hidden" name="shopperResultUrl" value="http://www.peachpayments.com" />

    <input type="hidden" name="signature" value="5172b01bf70271c06179e6c51957231dda23fe9318eb58ec2b4259590c80d69b" />

    <input type="submit" value="Continue to Payment Method"/>

</form><HTML>


Step 3: Query Payment


Query transaction using a new signature. 

NB: You can't reuse the signature because its encryption input  is different


Sample Concatenated String:


authentication.entityId8ac7a4c8708b8dae01708be6bb3b018eemerchantTransactionIdq4


GET Status Call:


https://testapi.peachpayments.com/v1/checkout/status?merchantTransactionId=q4&authentication.entityId=8ac7a4c8708b8dae01708be6bb3b018e&signature=030de001dc8be4578aac873f74944c5ae06568a47a7f82cb7db29bbe4be8322a





Please do reach out to support@peachpayments.com if you have further questions.