Paytrailv module documentation
Paytrailv (Paytrail Valamis) node module is made to spec at https://docs.paytrail.com/en/index-all.html#payment-api.e2 Currently supports only required fields: https://docs.paytrail.com/en/index-all.html#idm186552018000
Directories
- paytrailv/ is the node module
- paytrailv/test/ mocha+chai unit test files
Usage
Add form to the web page where you want the Paytrail payment button.
<form action="{{pt.ACTION}}" method="post">
<input name="MERCHANT_ID" type="hidden" value="{{pt.MERCHANT_ID}}">
<input name="URL_SUCCESS" type="hidden" value="{{pt.URL_SUCCESS}}">
<input name="URL_CANCEL" type="hidden" value="{{pt.URL_CANCEL}}">
<input name="ORDER_NUMBER" type="hidden" value="{{pt.ORDER_NUMBER}}">
<input name="PARAMS_IN" type="hidden" value="{{pt.PARAMS_IN}}">
<input name="PARAMS_OUT" type="hidden" value="{{pt.PARAMS_OUT}}">
<input name="AMOUNT" type="hidden" value="{{pt.AMOUNT}}">
<input name="AUTHCODE" type="hidden" value="{{pt.AUTHCODE}}">
<input type="submit" value="Pay here">
</form>
In the backend fill the form with values.
const merchantAuthHash = '6pKF4jkv97zmqBJ3ZL8gUw5DfT2NMQ'
const dataForPaytrail = {
ACTION:"https://payment.paytrail.com/e2",
MERCHANT_ID:"13466",
URL_SUCCESS:"http://127.0.0.1:3000/success",
URL_CANCEL:"http://127.0.0.1:3000/cancel",
ORDER_NUMBER:"123456",
PARAMS_IN:"MERCHANT_ID,URL_SUCCESS,URL_CANCEL,ORDER_NUMBER,PARAMS_IN,PARAMS_OUT,AMOUNT",
PARAMS_OUT:"PAYMENT_ID,TIMESTAMP,STATUS",
AMOUNT:"350.00"
}
router.get('/', function(req, res, next) {
res.render('index', { title: 'Paytrail test', pt: paytrail(merchantAuthHash, dataForPaytrail) })
})
- Change the values for at least MERCHANT_ID, URL_SUCCESS, URL_CANCEL, ORDER_NUMBER and AMOUNT
- URL_SUCCESS is the page to be redirected to after successful payment.
- Payment receipt is added, by the bank, to the URL_SUCCESS address as GET values. PARAMS_OUT determines which values are in the receipt. ( https://docs.paytrail.com/en/index-all.html#idm186552044672 )
- URL_CANCEL is the page to be redirected to cancelled payment process.
- merchantAuthHash, Merchant authentication hash is also called as 'merchant secret' in the paytrail integration guide.
- merchantAuthHash must not be sent to client. Instead it is used for authcode calculation.
Unit testing
Run unit tests with
npm test
in paytrailv/ directory.