SO, i’m creating a payment handler and I redirect to the given payment_url.
In order to create the payment handler (and get the payment_url), I must specify the consumerId in the request body, ex createPaymentHandler request:
{ "merchantRefNum": "merchantRefNum-201", "transactionType": "PAYMENT", "neteller": { "consumerId": "netellertest_eur@neteller.com", }, "paymentType": "NETELLER", "amount": 500, "currencyCode": "EUR", "returnLinks": [{ "rel": "default", "href": "https://example.com/payment/", } ]
}
ex createPaymentHandleResponse
{ "id": "82d57742-e2db-48ea-a726-a60e6f8265a3", "paymentType": "NETELLER", "paymentHandleToken": "PHQhlWpTRKzBXubN", "merchantRefNum": "5493aaf1a1d6dd13d2b53412f0ec", "currencyCode": "USD", "links": [ { "rel": "redirect_payment", "href": "https://customer.at.neteller.com/rest/payment/panel?mid=1090001806&mtid=pay_1090001806_00LwEhZ8WtIy8PmIhRCUi3JScUti6jKi_EUR&amount=0.01¤cy=EUR&customerHash=741e624cf6ae4fbca4338cb5597fe531" } ] "dupCheck": true, "status": "INITIATED", "liveMode": true, "usage": "SINGLE_USE", "action": "REDIRECT", "executionMode": "SYNCHRONOUS", "amount": 500, "billingDetails": { "street": "George Street", "street2": "3 Edgar Buildings", "city": "Bath", "zip": "BA1 2FJ", "country": "GB" }, "customerIp": "172.0.0.1", "timeToLiveSeconds": 899, "gatewayResponse": { "orderId": "ORD_0d676b4b-0eb8-4d78-af25-e41ab431e325", "totalAmount": 3599, "currency": "EUR", "status": "pending", "lang": "en_US", "processor": "NETELLER" }, "neteller": { "consumerId": "johndoe@email.com", "detail1Description": "description", "detail1Text": "Details 1 text" }, "returnLinks": [ { "rel": "default", "href": "https://usgaminggambling.com/payment/" }, { "rel": "on_completed", "href": "https://usgaminggambling.com/payment/return/success" }, { "rel": "on_failed", "href": "https://usgaminggambling.com/payment/return/failed" } ], "txnTime": "2019-01-24T10:39:50Z", "updatedTime": "2019-01-24T10:39:50Z", "statusTime": "2019-01-24T10:39:50Z" }
When I redirect to the payment_url the email field is already filled with the consumerId (“netellertest_eur@neteller.com”) and it’s readonly.
The thing is, I should not parse an email, because anyone could login from a different one to their Neteller account.
Is there any other way to get the payment url without parsing the consumerId?
Thanks in advance!
Advertisement
Answer
There is a new feature recently added where you can pass consumerIdLocked=false
as part of the neteller request object. This will allow edits to the email field once the checkout page renders.
Documentation can be found here: https://developer.paysafe.com/en/additional-documentation/neteller-migration-guide/api/#/introduction/common-objects/meta
{ "merchantRefNum": "merchantRefNum-201", "transactionType": "PAYMENT", "neteller": { "consumerId": "netellertest_eur@neteller.com", "consumerIdLocked": false }, "paymentType": "NETELLER", "amount": 500, "currencyCode": "EUR", "returnLinks": [ { "rel": "default", "href": "https://example.com/payment/", } ] }