Share My Creation Payment Online SumUp - SOURCE FOR SALE

Hi,
There are often threads asking if there is code or libraries available to make online payments.

Code for B4A, B4i, B4J ( tried with Java14 ) is available to accept online payments by credit card and debit card, via SumUp Payment Online.
SumUp is used in many countries (see https://en.wikipedia.org/wiki/SumUp for a complete list).
Using the code is very simple:
B4X:
Dim total_pay as Double
Dim description_buy as String
Dim email_client_sumup as String

total_pay = 1.5
description_buy = "Test Buy"
email_client_sumup = "xxxxxx@gmail.com"


A SumUp account must be opened ( https://sumup.com/ ). It takes a few minutes to open it. After doing this you ( or your client ;) ) can accept online payments by credit card and / or debit card.

For example, if you want to create an app that accepts online payments only for your app, you have to open an account on SumUp. Through this account you can withdraw your credentials and receive payments in real time.
OR
If you need a customer (or more customers) who want to have an online payment system, your customer just needs to open an account on SumUp. Enter your details, including the IBAN where you want to transfer the money received with online payments.
That's all.
The operation takes a few minutes.

Example: You have a customer who opens the account and the email address she used to open the same is: xxxxxx@gmail.com
Just enter (as indicated above) the line of code:
B4X:
email_client_sumup = "xxxxxx@gmail.com"
and all payments will be received directly in the customer's account.
SumUp also provides a convenient console (web browser or app) to check the online payments received and transfers the payments received within a few hours to the current account indicated by the customer.

HOW TO GET CREDENTIALS DEVELOPER (MUST BE DONE ONLY ONCE)
After opening your account on SumUp, go to your "Profile" (1), click on "developers" (2), create your credentials through the Create Credential button, enter a return url for payment (where you see " Home Page URL ") which can be any url. Once this is done, just click on JSON (3). You will get the client_id and client_secret which will be used to make everything work.

1615379515982.png


The result will be the following:


Very simple.

The price: 50€
Payment method : paypal
send the payment to the paypal account :
paypal@devil-app.eu
As already done by the legendary @sfsameer Every sale we make we will donate 25% to B4X by the end of every week !

A nice day :)
 

udg

Expert
Licensed User
Hi Marco,
does it work with their terminal too? I mean, the customer use the SumUp terminal to capture his card data, the payment request goes to a SumUp server, then to the customer's bank account and finally a reply (accept/deny) arrives on your app (B4A/B4J/B4i).
To be complete, I'd like to enter basic data in my app, handle them to their terminal and wait for a message so to complete the transaction. Time ago I wrote to SumUp but this kind of operation was not available. Eventually it could be mimicked using the "website", I guess.
 

MarcoRome

Expert
Licensed User
Hi Marco,
does it work with their terminal too? I mean, the customer use the SumUp terminal to capture his card data, the payment request goes to a SumUp server, then to the customer's bank account and finally a reply (accept/deny) arrives on your app (B4A/B4J/B4i).
To be complete, I'd like to enter basic data in my app, handle them to their terminal and wait for a message so to complete the transaction. Time ago I wrote to SumUp but this kind of operation was not available. Eventually it could be mimicked using the "website", I guess.
Hi Ugo.
ONLINE payment is different from using their device ( terminal ).
SumUp you have 2 possibilities:
1. USE POS ( Terminal )
That of using their device (POS) where you must physically have the customer and the credit card, to pass the same in the device and have the transaction ok (it is in effect a POS).
As shown in the following photo:
1615471780705.png

For POS, this library was developed some time ago ( only B4A ). Find it here: https://www.b4x.com/android/forum/threads/sumup-mobile-payment.39394/#content
The same works without any problem and interfaces with the SumUp POS. But of course it cannot be used for online payments.

2. ONLINE PAYMENT
That of using your online payment app, which is precisely what this library does in this thread
 

udg

Expert
Licensed User
My first name is Umberto.
This reply it's not so important, but I feel it's better to avoid that others, reading your post, may start calling me with a wrong name. :)

I see the difference between the two ways to manage a transaction.
So, with your lib we willl be in a position similar to those using a payment method on a website.
While the older lib is based on the POS you buy from SumUp. Did you test it the way I described? Fundamentally, I'd like to prepare the transaction in my app (mobile or desktop), send details to the POS (how?) and wait for a reply message (where?) to handle to my app in order to close the transaction (positively or not). When talking to SumUp they told me it was not possible, so I am asking about your experiments with it.

On the other end, your lib is good for cases where the customer is using remotely your app (like ordering a pizza from home) but he need to trust in you since he input his card data in your app and not on a well-known trusted party (his bank, PayPal,..).

If you prefer we can get in touch by PM (and/or phone) to avoid cluttering this thread. Thank you.
 

MarcoRome

Expert
Licensed User
My first name is Umberto.
This reply it's not so important, but I feel it's better to avoid that others, reading your post, may start calling me with a wrong name. :)

I see the difference between the two ways to manage a transaction.
So, with your lib we willl be in a position similar to those using a payment method on a website.
While the older lib is based on the POS you buy from SumUp. Did you test it the way I described? Fundamentally, I'd like to prepare the transaction in my app (mobile or desktop), send details to the POS (how?) and wait for a reply message (where?) to handle to my app in order to close the transaction (positively or not). When talking to SumUp they told me it was not possible, so I am asking about your experiments with it.

On the other end, your lib is good for cases where the customer is using remotely your app (like ordering a pizza from home) but he need to trust in you since he input his card data in your app and not on a well-known trusted party (his bank, PayPal,..).

If you prefer we can get in touch by PM (and/or phone) to avoid cluttering this thread. Thank you.
Scusami Umberto 😆😆.

So, with your lib we willl be in a position similar to those using a payment method on a website.
While the older lib is based on the POS you buy from SumUp. Did you test it the way I described?
Yes is so. Tested and is currently also used on some applications, see example:

Fundamentally, I'd like to prepare the transaction in my app (mobile or desktop), send details to the POS (how?) and wait for a reply message (where?) to handle to my app in order to close the transaction (positively or not). When talking to SumUp they told me it was not possible, so I am asking about your experiments with it.
Sure is possibile. Look movie. When the transaction is ok you can get the return value
Example:
B4X:
Sub Activity_Resume
    Dim risultato As String
    ' Get the answer from SumUp
    prIntent = Activity.GetStartingIntent
    If prIntent.HasExtra("Response") Then                    ' Intent has extra
        risultato = prIntent.GetExtra("Response")        ' Value of Response
        Select risultato
            Case "Transaction successful."
                'Success...
            Case "Transaction failed."
                'Failed...
        End Select
        lblResult.Text = risultato
    Else
        lblResult.Text = lingue.msg_nessunaris
        lblResult.TextColor = Colors.Red
    End If
End Sub

On the other end, your lib is good for cases where the customer is using remotely your app (like ordering a pizza from home) but he need to trust in you since he input his card data in your app and not on a well-known trusted party (his bank, PayPal,..).
The app does NOT store any data. The same are sent to the SumUp server which will process everything as it happens for other payment gateway.

In case you still want to talk about the Terminal ( POS ), pls, open another thread.
 

Keith Flanagan

Member
Licensed User
Hi Marco

Just wondering if you have linked to the API or Online Payments : https://developer.sumup.com/

Have you developed a Wrap in Java that you compiled to either a b4xLib or Jar that needs to be included in the B4X project?

If its a wrap in Java is this source also for sale?

Thanks
 

MarcoRome

Expert
Licensed User
Hi Marco

Just wondering if you have linked to the API or Online Payments : https://developer.sumup.com/

Have you developed a Wrap in Java that you compiled to either a b4xLib or Jar that needs to be included in the B4X project?

If its a wrap in Java is this source also for sale?

Thanks

Hi @Keith Flanagan
The example code is written and exclusively in B4X. So it can be changed at any time.
An example with sources is provided (the one you see in 1 #)
 
Top