#Josh_FloralFrog
1 messages · Page 1 of 1 (latest)
Hi here's the original message for reference:
we're having issue with stripe terminal not connecting to UK registered readers, the accounts have been authorised for server driven API in the UK but we are getting this error response:
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: postcode
Filename: controllers/PaymentGateway.php
Line Number: 187
Backtrace:
File: /mnt/WP_shared/application/controllers/PaymentGateway.php
Line: 187
Function: _error_handler
File: /mnt/WP_shared/index.php
Line: 316
Function: require_once
An uncaught Exception was encountered
Type: Stripe\Exception\InvalidRequestException
Message: You passed an empty string for 'address[postal_code]'. We assume empty values are an attempt to unset a parameter; however 'address[postal_code]' cannot be unset. You should remove 'address[postal_code]' from your request or supply a non-empty value.
Filename: /mnt/WP_shared/application/third_party/stripe-php/lib/Exception/ApiErrorException.php
Line Number: 38
Backtrace:
File: /mnt/WP_shared/application/third_party/stripe-php/lib/Exception/InvalidRequestException.php
Line: 35
Function: factory
File: /mnt/WP_shared/application/third_party/stripe-php/lib/ApiRequestor.php
Line: 213
Function: factory
File: /mnt/WP_shared/application/third_party/stripe-php/lib/ApiRequestor.php
Line: 175
Function: _specificAPIError
File: /mnt/WP_shared/application/third_party/stripe-php/lib/ApiRequestor.php
Line: 558
Function: handleErrorResponse
File: /mnt/WP_shared/application/third_party/stripe-php/lib/ApiRequestor.php
Line: 124
Function: _interpretResponse
File: /mnt/WP_shared/application/third_party/stripe-php/lib/BaseStripeClient.php
Line: 134
Function: request
File: /mnt/WP_shared/application/third_party/stripe-php/lib/Service/AbstractService.php
Line: 75
Function: request
File: /mnt/WP_shared/application/third_party/stripe-php/lib/Service/Terminal/LocationService.php
Line: 38
Function: request
File: /mnt/WP_shared/application/controllers/PaymentGateway.php
Line: 187
Function: create
File: /mnt/WP_shared/index.php
Line: 316
Function: require_once
Could you please share the request ID? req_xxx
I'm not sure on that one, I'd have to process a new pairing request and retrieve ID from our internal DB
The error suggests you should pass a postal_code:
Message: You passed an empty string for 'address[postal_code]'. We assume empty values are an attempt to unset a parameter; however 'address[postal_code]' cannot be unset. You should remove 'address[postal_code]' from your request or supply a non-empty value.
Are you not passing a postal code?
we should be, however if this is set to a US zipcode it will pair fine
Are you sure its not empty for some reason?
positive, as soon as the poscode in the customers profile is changed to a zipcode, it is pairing correctly, so it has to be sending it. I can see if i can retieve any logs but that may take time as the termial i have at hand doesnt have enough charge to attempt a pairing
If you think this issue might need more time to investigate, you can write to Stripe Support, and we will look into it async. You can mention that you were in contact with vanya on Discord. Please provide all the error messages and IDs that you have: https://support.stripe.com/?contact=true
Okay. is there an area in the stripe dasboard to view pairing requests/logs as that may help shed some extra light on the issue
You should see all requests here: https://dashboard.stripe.com/test/logs
okay, i think i can see the request IDs, here's one example req_QE3jQ3JIDaJIIR
Is this related to the Terminal issue?
The time of the log corrolates but the error isnt specific enough to be able to tell for sure. I should be able to make a new pair request soon though
Alright. Please collect all the necessary info and reach out to support. We will take it from there.
Okay, processing request now, will forward the request ID on completion
the ID is req_Rj77v8cjiTy5kr
👋 taking over for my colleague. Let me catch up.
are you testing this on a physical terminal?
yes thats correct
with a physical test card?
we aren't able to get that far as we can't pair the device unless we set address to US in our software, then it wont process payments cause it registered in US
I think you can just simulate a card present with these cards https://stripe.com/docs/terminal/references/testing#simulated-test-cards
you would use https://stripe.com/docs/api/terminal/readers/present_payment_method#present_payment_method-type
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
card
this is not stricly for testing purposes, we intend to start using server driven Stripe Connect with some of our UK customers, so the issue will need fixing
the problem you're describing here is related to https://support.stripe.com/questions/stripe-terminal-country-and-currency-availability
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
the account has been anabled for UK server driven terminal, so this should be working and is unrelated to that article
What did you mean by this?
we aren't able to get that far as we can't pair the device unless we set address to US in our software, then it wont process payments cause it registered in US
Okay, we have 2 scenarios here, Scenario 1 - The floral frog account is set up with a UK address, on pairing, we get the error responses that have been quoted above. Scenario 2 - we set the floral frog account with a US Zipcode, the device will now pair but won't process any transactions as the device is registered with a US zipcode. So the issue is in scerario 1, once that is fixes, scenario to becomes mute
The floral frog account is set up with a UK address, on pairing, we get the error responses that have been quoted above.
Which specifically? There's various different errors in the thread. I can see https://dashboard.stripe.com/test/logs/req_Rj77v8cjiTy5kr was a request by a GB account.
but won't process any transactions as the device is registered with a US zipcode.
Can you share an example?
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
Not sure why you're using that endpoint (https://dashboard.stripe.com/test/logs/req_Rj77v8cjiTy5kr) if you're using a physical reader and not a simulator.
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
this error #1085137235780841582 message
This is how you'd capture a physical card in a server-driven integration: https://stripe.com/docs/terminal/payments/collect-payment?terminal-sdk-platform=server-driven&reader=wpe#process-payment
the seccond scenario is a non issue as that is technically doing what it's supposed to be
so the issue is the device not pairing with a UK postcode
And what locale/country is the Terminal device registered to?
Also, an actual req_xxx would be handy
so it should be the following address: 18 Barton Road, Sidcup, Kent, United Kingdon
DA14 5LU
req_Rj77v8cjiTy5kr
I wouldn't recommend sharing that full address here
It's our registared business address in the public domain
That's not the request that triggered the postal code error you're describing
It thows the same error each time
I can see various logs/errors on your account where you're attempting to process usd Terminal payments on your GB account: https://dashboard.stripe.com/logs/req_39S10HlTSl1jlr
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
That won't work, because of: https://support.stripe.com/questions/stripe-terminal-country-and-currency-availability
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
I'm aware of that, it is an unrelated error to this issue
If you're trying to process USD in-person payment you need a US account and a reader registered to a US address
It's not though
The issue is the PAIRING not the transactions, please IGNORE all transaction error
You haven't shared a pairing error?
You've shared an error relating to:
- Postal addresses.
- Using the simulated reader endpoint for card collection, but with a physical reader.
YES, that is the error we get when attempting to pair on a UK account
Depends what you mean by 'pairing', I guess. I don't see how https://dashboard.stripe.com/test/logs/req_Rj77v8cjiTy5kr is related to pairing.
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
okay, so on the BBPOS WISEPOS E in setting you generate a 3 word pairing code which you can then input into the EPOS to pair the device, it is uppon entering this where we get the error
I'm aware of that flow, but that doesn't align with that error. That's a Dashboard flow, and those error are initiated by your PHP backend (which I assume is the EPOS).
I can see on your GB account (acct_1JmOCHBRgXLbUnKg) is Terminal locations/readers in both UK/US:
- https://dashboard.stripe.com/test/terminal/locations/tml_FA0OxQte2afGkw
- https://dashboard.stripe.com/test/terminal/locations/tml_FAf7fQoioax0cE
What's the serial number of the device you're using when getting the error?
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
Can you share your 'pairing' code (i.e.: https://stripe.com/docs/terminal/payments/connect-reader?reader-type=internet)
there's two terminal's we have the one i have with me is WSC513124009031
ocher-said-king
Ok, but as I shared that's already registered: https://dashboard.stripe.com/test/terminal/locations/tml_FAf7fQoioax0cE
So why are you attempting to 'pair' (register) it again? You're doing server-driven yes?
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
I'm struggling to understand the issue here. What is it you're actually trying to do? The reader is registered and should work for physical payments.
we need this registerd to a UK account with our EPOS, which we have not been able to v
acheive*
this not only applies to us but our perspective UK members
Ok, but as you can see it is registered with your GB Stripe account. As for the EPOS, you'd need to provide more context on what the process is for registering for that as that's external to us.
we only send the pairing code and address through the API to stripe to authenticate as per the developers documentation
Have you actually tried to process a payment using this reader? The reader was successfully 'paired'/registered last week: https://dashboard.stripe.com/test/logs/req_NlAp2KCDbiOhT5
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
look, what we need is for UK based customers with server driven API enabled by stripe sales team to be able to quickly and easily pair their terminal to the epos without messing around with addresses like we have had to. this error is causing significant headache and is preventing us from onboarding customer to stripe
Specifically what do you mean by 'messing around with addresses'? You need to create a location before you can register a reader, and that requires certain address fields: https://stripe.com/docs/api/terminal/locations/create#create_terminal_location-address
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
So yes your customers would first need to create a location that represents the physical store where the reader is used. I guess that would be part of your 'pairing' process.
No, that's just it, they don't. If a US customer pairs the device, it will automatically create a lociation in stripe using the appropriate address details and it works. Even if a location is created from the stripe dashboard, it is ignored by the api and is thus irrelivant to the issue.
Then perhaps it works differently for non-US accounts? I'm not sure, but according to the docs you need to pass a tml_xxx on creation.
I guess you need to account for that.
On our end, it should be no different than a US customer, it is Stripes API that is refusing the connection due to the postcode
It's good feedback to share with our product teams: https://support.stripe.com/contact
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
But nothing that we here can help with immediately today I'm afraid.