From 9f0a60486d3934350ae2afdb989167b732c5e523 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Mon, 4 Sep 2017 23:05:26 +0300 Subject: [PATCH] Working on Alipay --- app/Constants.php | 1 + app/Ninja/Datatables/PaymentDatatable.php | 2 ++ app/Ninja/PaymentDrivers/StripePaymentDriver.php | 8 +++++++- database/seeds/PaymentTypesSeeder.php | 1 + resources/lang/en/texts.php | 1 + 5 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/Constants.php b/app/Constants.php index 8f01cf31ed4c..95a031d7aea1 100644 --- a/app/Constants.php +++ b/app/Constants.php @@ -403,6 +403,7 @@ if (! defined('APP_NAME')) { define('PAYMENT_TYPE_MAESTRO', 21); define('PAYMENT_TYPE_SOLO', 22); define('PAYMENT_TYPE_SWITCH', 23); + define('PAYMENT_TYPE_ALIPAY', 24); define('PAYMENT_METHOD_STATUS_NEW', 'new'); define('PAYMENT_METHOD_STATUS_VERIFICATION_FAILED', 'verification_failed'); diff --git a/app/Ninja/Datatables/PaymentDatatable.php b/app/Ninja/Datatables/PaymentDatatable.php index 05d23b59e297..b87dfde0be8b 100644 --- a/app/Ninja/Datatables/PaymentDatatable.php +++ b/app/Ninja/Datatables/PaymentDatatable.php @@ -67,6 +67,8 @@ class PaymentDatatable extends EntityDatatable return '' . htmlentities($card_type) . '  •••' . $model->last4 . ' ' . $expiration; } elseif ($model->email) { return $model->email; + } else { + return trans('texts.payment_type_' . $model->payment_type); } } elseif ($model->last4) { if ($model->bank_name) { diff --git a/app/Ninja/PaymentDrivers/StripePaymentDriver.php b/app/Ninja/PaymentDrivers/StripePaymentDriver.php index c1c6a830e33d..f174652390ec 100644 --- a/app/Ninja/PaymentDrivers/StripePaymentDriver.php +++ b/app/Ninja/PaymentDrivers/StripePaymentDriver.php @@ -214,8 +214,14 @@ class StripePaymentDriver extends BasePaymentDriver protected function creatingPayment($payment, $paymentMethod) { - if ($this->isGatewayType(GATEWAY_TYPE_BANK_TRANSFER, $paymentMethod) || $this->isGatewayType(GATEWAY_TYPE_ALIPAY, $paymentMethod)) { + $isBank = $this->isGatewayType(GATEWAY_TYPE_BANK_TRANSFER, $paymentMethod); + $isAlipay = $this->isGatewayType(GATEWAY_TYPE_ALIPAY, $paymentMethod); + + if ($isBank || $isAlipay) { $payment->payment_status_id = $this->purchaseResponse['status'] == 'succeeded' ? PAYMENT_STATUS_COMPLETED : PAYMENT_STATUS_PENDING; + if ($isAlipay) { + $payment->payment_type_id = PAYMENT_TYPE_ALIPAY; + } } return $payment; diff --git a/database/seeds/PaymentTypesSeeder.php b/database/seeds/PaymentTypesSeeder.php index 395f9e96dff3..281aa27f6d15 100644 --- a/database/seeds/PaymentTypesSeeder.php +++ b/database/seeds/PaymentTypesSeeder.php @@ -36,6 +36,7 @@ class PaymentTypesSeeder extends Seeder ['name' => 'Swish', 'gateway_type_id' => GATEWAY_TYPE_BANK_TRANSFER], ['name' => 'Venmo'], ['name' => 'Money Order'], + ['name' => 'Alipay', 'gateway_type_id' => GATEWAY_TYPE_ALIPAY], ]; foreach ($paymentTypes as $paymentType) { diff --git a/resources/lang/en/texts.php b/resources/lang/en/texts.php index 958d1cf6dc88..2a8bdb6faa80 100644 --- a/resources/lang/en/texts.php +++ b/resources/lang/en/texts.php @@ -1410,6 +1410,7 @@ $LANG = array( 'payment_type_Switch' => 'Switch', 'payment_type_iZettle' => 'iZettle', 'payment_type_Swish' => 'Swish', + 'payment_type_Alipay' => 'Alipay', // Industries 'industry_Accounting & Legal' => 'Accounting & Legal',