Make sure that payment requests aren't cached, and add 'Bitcoin' and 'Other' payment method handling

master
Sven Slootweg 11 years ago
parent 63a9fbddb7
commit 31ef4987d0

@ -18,6 +18,7 @@ class PaymentRequest extends CPHPDatabaseRecordClass
public $table_name = "payment_requests";
public $fill_query = "SELECT * FROM payment_requests WHERE `Id` = :Id";
public $verify_query = "SELECT * FROM payment_requests WHERE `Id` = :Id";
public $query_cache = 0;
public $prototype = array(
'string' => array(

@ -0,0 +1,38 @@
<?php
/*
* ReDonate is more free software. It is licensed under the WTFPL, which
* allows you to do pretty much anything with it, without having to
* ask permission. Commercial use is allowed, and no attribution is
* required. We do politely request that you share your modifications
* to benefit other developers, but you are under no enforced
* obligation to do so :)
*
* Please read the accompanying LICENSE document for the full WTFPL
* licensing text.
*/
if(!isset($_APP)) { die("Unauthorized."); }
try
{
$sPaymentMethod = $sPaymentRequest->sCampaign->GetPaymentMethod(PaymentMethod::BITCOIN);
}
catch (NotFoundException $e)
{
throw new RouterException("No such payment method found.");
}
if($sPaymentRequest->sCurrency != "btc")
{
$sAmount = Currency::Convert("btc", $sPaymentRequest->sCurrency, $sPaymentRequest->sAmount);
}
else
{
$sAmount = $sPaymentRequest->sAmount;
}
$sPageContents = NewTemplater::Render("payment/bitcoin", $locale->strings, array(
"address" => $sPaymentMethod->sAddress,
"amount" => Currency::Format("btc", $sAmount),
"done-url" => "/pay/{$sPaymentRequest->sSubscription->sEmailAddress}/{$sPaymentRequest->sId}/{$sPaymentRequest->sKey}/bitcoin/done"
));

@ -0,0 +1,31 @@
<?php
/*
* ReDonate is more free software. It is licensed under the WTFPL, which
* allows you to do pretty much anything with it, without having to
* ask permission. Commercial use is allowed, and no attribution is
* required. We do politely request that you share your modifications
* to benefit other developers, but you are under no enforced
* obligation to do so :)
*
* Please read the accompanying LICENSE document for the full WTFPL
* licensing text.
*/
if(!isset($_APP)) { die("Unauthorized."); }
try
{
$sPaymentMethod = PaymentMethod::CreateFromQuery("SELECT * FROM payment_methods WHERE `CampaignId` = :CampaignId AND `Id` = :Id",
array(":CampaignId" => $sPaymentRequest->sCampaign->sId, ":Id" => $router->uParameters[4]), 0, true);
}
catch (NotFoundException $e)
{
throw new RouterException("No such payment method found.");
}
$sPageContents = NewTemplater::Render("payment/other", $locale->strings, array(
"name" => $sPaymentMethod->sCustomName,
"address" => $sPaymentMethod->sAddress,
"amount" => Currency::Format($sPaymentRequest->sCurrency, $sPaymentRequest->sAmount),
"done-url" => "/pay/{$sPaymentRequest->sSubscription->sEmailAddress}/{$sPaymentRequest->sId}/{$sPaymentRequest->sKey}/{$sPaymentMethod->sId}/done"
));

@ -0,0 +1,18 @@
<div class="formwrapper">
<h2>Donate using Bitcoin</h2>
<p>
Please send <strong>{%?amount}</strong> to the address <strong>{%?address}</strong>.
</p>
<p>
We cannot automatically detect when you've sent your donation. To help us improve our statistics,
please click the button below after you've donated.
</p>
<p>
<form method="get" action="{%?done-url}" style="text-align: center;">
<button type="submit">I've sent my donation</button>
</form>
</p>
</div>

@ -0,0 +1,19 @@
<div class="formwrapper">
<h2>Donate using {%?name}</h2>
<p>
Please send <strong>{%?amount}</strong> to this address or account number:<br>
<strong>{%?address}</strong>.
</p>
<p>
We cannot automatically detect when you've sent your donation. To help us improve our statistics,
please click the button below after you've donated.
</p>
<p>
<form method="get" action="{%?done-url}" style="text-align: center;">
<button type="submit">I've sent my donation</button>
</form>
</p>
</div>
Loading…
Cancel
Save