2

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&currency=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.

checkout example

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!

thanosk
  • 133
  • 1
  • 8

3 Answers3

1

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/",
        }
    ]
}
Khaine775
  • 2,715
  • 8
  • 22
  • 51
Greg Roll
  • 36
  • 3
0

consumerId is required and the request will fail, if you don't pass it. Users usually use the same email as the one in your system or you can create a field for the consumer to enter their email on the deposit page, before the the redirect, in case they would like to use a different one.

Dharman
  • 30,962
  • 25
  • 85
  • 135
Alex D
  • 1
0

I found what I was looking for in the old Neteller REST API.

They have an endpoint for "orders" where you create the order without the consumerId and there is no readonly email in the checkout!

thanosk
  • 133
  • 1
  • 8