Hi,
You can still make use of cookies to track the user - even if they know what the success url is, it's just annoying if they try to break it by brute force.
This is what you do;
Compile a string with all the variables that you need to submit and what you require to process your transaction;
$my_querystring="
amount=1&
currency=USD&
payee_bcaddr=1AvN36TvnWxkUYYBRckpRxyFcys5Z28bSB&
payee_name=My Name&
success_url=https://www.my_domain.com/success.php&
cancel_url=https//www.my_domain.com/cancel.php&
baggage=
cookie_used=whatever_value&
anotherfield=another_value&
add_more=ifyouwant&
yougetthepicture=yes
";
Encrypt this data before your send the data to MyBitcoin by using the sci-client library;
$result=mbc_encryptformdata($my_querystring);
Now create a submit button and use [paypage-mbc.php] since you only want to use MyBitcoin
<form action="
https://www.mybitcoin.com/sci/paypage-mbc.php" method="post">
<input type="hidden" name="t" value="$result">
<input type="submit" value="Pay with MyBitcoin" />
</form>
The encrypted string will look something like;
value="g5nQzBp6cAuaPKmDw8myzwZByoj4oiHvaOFiHcbuBrtZZ1kgxSlf5QKBgc3KB6ui9iheNlwiDYFB6X-pcYqQ0x5G082Wg6MxdO7j4FUxqSrjT8oxDk9ox-S7qlYP9G7edrVApok600SNT7Iqj3C_Mpky7TONHrXBU2Wg9wkZ4Fwiw0y_Nw7s-TopxmW8z3yaCLzDwKOirnGZz8Rp7TOnywEHzE0YSm0ME2uKCE9cJ6l6F9cYNMJUJpBy7aZLDB7FohpwhA1TUL4J1YtDZVAq45gmXCK-AZBuYZLIClHRPCjYktVcXFtVVKU-dqp9Bj3K0KeJAy0%2C"
For your info;
[paypage.php] will give the payer to option to choose either Bitcoin or MyBitcoin as payment option
[paypage-mbc.php] will allow the payer to only use MyBitcoin as payment option
[paypage-bc.php] will allow the payer to only use Bitcoin as payment option
Record everything you get back from the Mybitcoin server in your database or flat file with the sci-receipt handler.
Now you use the database information recorded to compare with the cookie information in the returning browser - if that match, then you have the same user. Just build in some sort of delay for just in case the MyBitcoin server is slow - not that I have experienced it in any way. If no data is found allow the page to refresh after two seconds to run the script again and if it fail again let the script send you an email with the details.
Also note that you have to send some baggage information or else you will get an error.
Hope this help you,
Hamburger
If for any insane reason you found this post helpful: Bit me a @ 1AvN36TvnWxkUYYBRckpRxyFcys5Z28bSB