Skip to content

paynl

Pay.NL Pay.

Overview

k.payment.paynlCheckout is used to create a Pay.NL Checkout payment request. Pay.NL point of sale and Token information need to be configured in the site CMS before use.

paynlCheckout.charge()

Create a Pay.NL Checkout payment request.

ts
k.api.get(() => {
    const result = k.payment.paynlCheckout.charge({
        name: 'T-shirt',
        description: 'Order payment',
        totalAmount: 1.5,
        currency: 'EUR',
        order: 'order-id',
        returnUrl: '/payment/success?orderId=order-id',
        exchangeUrl: '/payment/paynl/exchange',
        statsData: {
            extra1: 'order-id',
            extra2: '',
            extra3: ''
        },
        callbackCodeName: 'PaymentCallback'
    })

    return k.response.renderView(result.nextAction.renderHtml)
})

Parameter: PaynlCheckoutParams

ParameterTypeRequiredDescription
returnUrlstringyesReturn address after successful payment
exchangeUrlstringyesPay.NL The address used to exchange transaction status
statsDataStatsDatanoStatistics extended data
totalAmountnumberyesOrder amount
namestringyesOrder name
descriptionstringyesOrder description
currencystringyesCurrency, such as EUR
orderstringnoCommerce order ID. Once the payment is successful, the order payment status will be updated.
callbackCodeNamestringnoThe name of the callback code executed after payment is completed

Return: ChargeResponse

checkStatus()

Check payment status.

Parameters:

ParameterTypeRequiredDescription
requestIdstringYesrequestId returned by charge().
ts
k.api.get(() => {
    const status = k.payment.paynlCheckout.checkStatus('request-id')
    return { paid: status.paid, failed: status.failed, status: status.status }
})

Return: PaymentStatusResponse

updateOrder()

Handle Pay.NL callbacks and update orders.

Parameters:

ParameterTypeRequiredDescription
contextobjectYesCurrent payment callback context, usually k.payment.paynlCheckout.context.
ts
k.api.post(() => {
    const callback = k.payment.paynlCheckout.updateOrder(k.payment.paynlCheckout.context)
    return { paid: callback.paid, status: callback.status }
})

Return: PaymentCallback

StatsData

PropertyTypeDescription
extra1stringExtended field 1
extra2stringExtended field 2
extra3stringExtended field 3

PaynlSetting

PropertyTypeDescription
paynlUrlstringPay.NL interface address
testModebooleanWhether to test mode
salesLocationCodestringPoint of sale code
salesLocationSecretstringPoint of sale Secret
codestringConfigure Code
tokenstringToken