PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.22.0
GiveWP – Donation Plugin and Fundraising Platform v2.22.0
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / PaymentGateways / Gateways / Stripe / Migrations / AddMissingTransactionIdForUncompletedDonations.php
give / src / PaymentGateways / Gateways / Stripe / Migrations Last commit date
AddMissingTransactionIdForUncompletedDonations.php 4 years ago AddStatementDescriptorToStripeAccounts.php 4 years ago
AddMissingTransactionIdForUncompletedDonations.php
81 lines
1 <?php
2
3 namespace Give\PaymentGateways\Gateways\Stripe\Migrations;
4
5 use Give\Framework\Database\DB;
6 use Give\Framework\Migrations\Contracts\Migration;
7
8 /**
9 * @since 2.19.6
10 */
11 class AddMissingTransactionIdForUncompletedDonations extends Migration
12 {
13
14 /**
15 * @inerhitDoc
16 */
17 public static function id()
18 {
19 return 'add-missing-transaction-id-for-uncompleted-stripe-donations';
20 }
21
22 /**
23 * @inerhitDoc
24 */
25 public static function timestamp()
26 {
27 return strtotime('2022-03-28');
28 }
29
30 /**
31 * @inerhitDoc
32 */
33 public function run()
34 {
35 $donationMetaTable = DB::prefix('give_donationmeta');
36 $commentTable = DB::prefix('give_comments');
37 $donationTable = DB::prefix('posts');
38
39 /*
40 * This SQL query will add transaction id to donation who pass following conditions:
41 * - Donation status is other than "publish".
42 * - Donation created after 20 March 2020. We released GiveWP 2.19.0 on 25th March 2022,
43 * So donation created after or on following date may not have transaction id.
44 * @see release information https://github.com/impress-org/givewp/releases/tag/2.19.0
45 * - Donation process with Stripe payment method.
46 * - Donation has note with "Stripe Charge/Payment Intent ID" prefix.
47 * - Donation does not have transaction id.
48 */
49 DB::query(
50 "
51 INSERT INTO $donationMetaTable (donation_id, meta_key, meta_value)
52 SELECT dm1.donation_id, '_give_payment_transaction_id',SUBSTR( gc.comment_content, 34 ) as transactionId
53 FROM $donationMetaTable as dm1
54 INNER JOIN $commentTable as gc on gc.comment_parent = dm1.donation_id
55 INNER JOIN $donationTable as p on p.ID = dm1.donation_id
56 WHERE NOT EXISTS (
57 SELECT *
58 FROM $donationMetaTable as dm2
59 WHERE dm1.donation_id=dm2.donation_id
60 AND meta_key='_give_payment_transaction_id'
61 )
62 AND p.post_status!='publish'
63 AND p.post_date > '2022-02-20'
64 AND dm1.meta_key = '_give_payment_gateway'
65 AND dm1.meta_value like '%stripe%'
66 AND gc.comment_content like '%Stripe Charge/Payment Intent ID%'
67 AND SUBSTR( gc.comment_content, 34 ) != ''
68 ORDER BY dm1.donation_id DESC
69 "
70 );
71 }
72
73 /**
74 * @inerhitDoc
75 */
76 public static function title()
77 {
78 return 'Add Missing Transaction Id For Uncompleted Stripe Donations';
79 }
80 }
81