|
@@ -91,11 +91,16 @@ class ApiCryptoTest extends TestCase
|
|
|
self::assertSame('Bank card', array_column($body['data'], 'label', 'value')['DF001']);
|
|
self::assertSame('Bank card', array_column($body['data'], 'label', 'value')['DF001']);
|
|
|
$channels = array_column($body['data'], null, 'value');
|
|
$channels = array_column($body['data'], null, 'value');
|
|
|
self::assertTrue($channels['DF001']['requires_bank_name']);
|
|
self::assertTrue($channels['DF001']['requires_bank_name']);
|
|
|
|
|
+ self::assertTrue($channels['DF001']['requires_bank_branch']);
|
|
|
|
|
+ self::assertSame('Bank name', $channels['DF001']['bank_name_label']);
|
|
|
self::assertTrue($channels['NOwithdraw']['requires_real_name']);
|
|
self::assertTrue($channels['NOwithdraw']['requires_real_name']);
|
|
|
self::assertTrue($channels['ZIMUwithdraw']['requires_real_name']);
|
|
self::assertTrue($channels['ZIMUwithdraw']['requires_real_name']);
|
|
|
- self::assertFalse($channels['JDpay']['requires_real_name']);
|
|
|
|
|
|
|
+ self::assertTrue($channels['JDpay']['requires_real_name']);
|
|
|
|
|
+ self::assertTrue($channels['usdt']['requires_real_name']);
|
|
|
self::assertSame(['bank', 'wechat', 'alipay'], array_column($channels['rgtx']['payout_methods'], 'value'));
|
|
self::assertSame(['bank', 'wechat', 'alipay'], array_column($channels['rgtx']['payout_methods'], 'value'));
|
|
|
self::assertSame([true, false, true], array_column($channels['rgtx']['payout_methods'], 'requires_card_no'));
|
|
self::assertSame([true, false, true], array_column($channels['rgtx']['payout_methods'], 'requires_card_no'));
|
|
|
|
|
+ self::assertSame('Bank name', $channels['rgtx']['payout_methods'][0]['bank_name_label']);
|
|
|
|
|
+ self::assertArrayNotHasKey('bank_name_label', $channels['rgtx']['payout_methods'][1]);
|
|
|
|
|
|
|
|
$lottery = $this->unwrap($this->sendEncrypted('/api/newPc/yuanTou', 'GET', (object) []));
|
|
$lottery = $this->unwrap($this->sendEncrypted('/api/newPc/yuanTou', 'GET', (object) []));
|
|
|
self::assertSame(0, $lottery['code'] ?? null, json_encode($lottery));
|
|
self::assertSame(0, $lottery['code'] ?? null, json_encode($lottery));
|
|
@@ -137,17 +142,19 @@ class ApiCryptoTest extends TestCase
|
|
|
$this->createWalletFixture();
|
|
$this->createWalletFixture();
|
|
|
DB::table('users')->where('member_id', '42')->update(['real_name' => 'Registered Name']);
|
|
DB::table('users')->where('member_id', '42')->update(['real_name' => 'Registered Name']);
|
|
|
$binding = $this->unwrap($this->sendEncrypted('/api/wallet/addBank', 'POST', [
|
|
$binding = $this->unwrap($this->sendEncrypted('/api/wallet/addBank', 'POST', [
|
|
|
- 'channel' => 'DF001', 'bank_name' => 'Fixture Bank', 'card_no' => '12345', 'account' => 'Different Name',
|
|
|
|
|
|
|
+ 'channel' => 'DF001', 'bank_name' => 'Fixture Bank', 'bank_branch' => 'Fixture Branch',
|
|
|
|
|
+ 'card_no' => '12345', 'account' => 'Different Name',
|
|
|
], true));
|
|
], true));
|
|
|
self::assertSame('Registered Name', $binding['data']['real_name']);
|
|
self::assertSame('Registered Name', $binding['data']['real_name']);
|
|
|
self::assertSame('Registered Name', DB::table('banks')->sole()->account);
|
|
self::assertSame('Registered Name', DB::table('banks')->sole()->account);
|
|
|
|
|
|
|
|
$payout = $this->unwrap($this->sendEncrypted('/api/wallet/payout', 'POST', [
|
|
$payout = $this->unwrap($this->sendEncrypted('/api/wallet/payout', 'POST', [
|
|
|
- 'channel' => 'DF001', 'bank_name' => 'Fixture Bank', 'card_no' => '12345',
|
|
|
|
|
|
|
+ 'channel' => 'DF001', 'bank_name' => 'Fixture Bank', 'bank_branch' => 'Fixture Branch', 'card_no' => '12345',
|
|
|
'amount' => 100, 'safe_word' => 'fixture-password', 'account' => 'Another Name',
|
|
'amount' => 100, 'safe_word' => 'fixture-password', 'account' => 'Another Name',
|
|
|
], true));
|
|
], true));
|
|
|
self::assertSame(0, $payout['code'], $payout['msg']);
|
|
self::assertSame(0, $payout['code'], $payout['msg']);
|
|
|
self::assertSame('Registered Name', DB::table('payment_orders')->sole()->account);
|
|
self::assertSame('Registered Name', DB::table('payment_orders')->sole()->account);
|
|
|
|
|
+ self::assertSame('Fixture Branch', DB::table('payment_orders')->sole()->bank_branch);
|
|
|
$zimu = $this->unwrap($this->sendEncrypted('/api/wallet/payout', 'POST', [
|
|
$zimu = $this->unwrap($this->sendEncrypted('/api/wallet/payout', 'POST', [
|
|
|
'channel' => 'ZIMUwithdraw', 'card_no' => 'zimu-wallet-fixture',
|
|
'channel' => 'ZIMUwithdraw', 'card_no' => 'zimu-wallet-fixture',
|
|
|
'amount' => 100, 'safe_word' => 'fixture-password', 'account' => 'Another Name',
|
|
'amount' => 100, 'safe_word' => 'fixture-password', 'account' => 'Another Name',
|
|
@@ -161,7 +168,7 @@ class ApiCryptoTest extends TestCase
|
|
|
public function test_only_the_first_successful_named_binding_can_set_a_missing_real_name(): void
|
|
public function test_only_the_first_successful_named_binding_can_set_a_missing_real_name(): void
|
|
|
{
|
|
{
|
|
|
$this->createWalletFixture();
|
|
$this->createWalletFixture();
|
|
|
- $params = ['channel' => 'DF001', 'bank_name' => 'Fixture Bank', 'card_no' => '12345'];
|
|
|
|
|
|
|
+ $params = ['channel' => 'DF001', 'bank_name' => 'Fixture Bank', 'bank_branch' => 'Fixture Branch', 'card_no' => '12345'];
|
|
|
$payout = $this->unwrap($this->sendEncrypted('/api/wallet/payout', 'POST', $params + [
|
|
$payout = $this->unwrap($this->sendEncrypted('/api/wallet/payout', 'POST', $params + [
|
|
|
'amount' => 100, 'safe_word' => 'fixture-password', 'account' => 'Unbound Name',
|
|
'amount' => 100, 'safe_word' => 'fixture-password', 'account' => 'Unbound Name',
|
|
|
], true));
|
|
], true));
|
|
@@ -231,16 +238,22 @@ class ApiCryptoTest extends TestCase
|
|
|
self::assertSame('请先绑定收款账户并填写真实姓名', $payout($common + $wallet + ['account' => 'Injected Name'])['msg']);
|
|
self::assertSame('请先绑定收款账户并填写真实姓名', $payout($common + $wallet + ['account' => 'Injected Name'])['msg']);
|
|
|
}
|
|
}
|
|
|
DB::table('users')->update(['real_name' => 'Fixture Name']);
|
|
DB::table('users')->update(['real_name' => 'Fixture Name']);
|
|
|
- self::assertSame('请输入开户行名称', $payout($common + ['card_no' => '12345'])['msg']);
|
|
|
|
|
- self::assertSame('请输入开户行名称', $payout(['channel' => 'DF001', 'card_no' => '12345'] + $common)['msg']);
|
|
|
|
|
|
|
+ self::assertSame('请输入银行名称', $payout($common + ['card_no' => '12345'])['msg']);
|
|
|
|
|
+ self::assertSame('请输入银行名称', $payout(['channel' => 'DF001', 'card_no' => '12345'] + $common)['msg']);
|
|
|
|
|
+ foreach (['rgtx', 'DF001'] as $channel) {
|
|
|
|
|
+ self::assertSame('请输入开户行支行名称', $payout([
|
|
|
|
|
+ 'channel' => $channel, 'bank_name' => 'Fixture Bank', 'card_no' => '12345',
|
|
|
|
|
+ ] + $common)['msg']);
|
|
|
|
|
+ }
|
|
|
self::assertSame('请上传有效的收款码图片', $payout($common + ['payout_method' => 'wechat', 'qr_image' => 'javascript:alert(1)'])['msg']);
|
|
self::assertSame('请上传有效的收款码图片', $payout($common + ['payout_method' => 'wechat', 'qr_image' => 'javascript:alert(1)'])['msg']);
|
|
|
self::assertSame('请上传有效的收款码图片', $payout($common + ['payout_method' => 'alipay', 'card_no' => $alipayAccount])['msg']);
|
|
self::assertSame('请上传有效的收款码图片', $payout($common + ['payout_method' => 'alipay', 'card_no' => $alipayAccount])['msg']);
|
|
|
self::assertSame('请输入支付宝账号', $payout($common + ['payout_method' => 'alipay', 'qr_image' => $qr])['msg']);
|
|
self::assertSame('请输入支付宝账号', $payout($common + ['payout_method' => 'alipay', 'qr_image' => $qr])['msg']);
|
|
|
self::assertSame('请输入支付宝账号', $payout($common + ['card_no' => $qr] + $alipay)['msg']);
|
|
self::assertSame('请输入支付宝账号', $payout($common + ['card_no' => $qr] + $alipay)['msg']);
|
|
|
- $bank = $payout($common + ['bank_name' => 'Fixture Bank Branch', 'card_no' => '12345']);
|
|
|
|
|
|
|
+ $bank = $payout($common + ['bank_name' => 'Fixture Bank', 'bank_branch' => 'Fixture Branch', 'card_no' => '12345']);
|
|
|
self::assertSame(0, $bank['code'], $bank['msg']);
|
|
self::assertSame(0, $bank['code'], $bank['msg']);
|
|
|
self::assertSame('bank', $bank['data']['payout_method']);
|
|
self::assertSame('bank', $bank['data']['payout_method']);
|
|
|
- self::assertSame('Fixture Bank Branch', $bank['data']['bank_name']);
|
|
|
|
|
|
|
+ self::assertSame('Fixture Bank', $bank['data']['bank_name']);
|
|
|
|
|
+ self::assertSame('Fixture Branch', $bank['data']['bank_branch']);
|
|
|
|
|
|
|
|
self::assertSame('您已有1笔提现订单正常处理中!', $payout($common + $wechat)['msg']);
|
|
self::assertSame('您已有1笔提现订单正常处理中!', $payout($common + $wechat)['msg']);
|
|
|
self::assertSame(1, DB::table('payment_orders')->count());
|
|
self::assertSame(1, DB::table('payment_orders')->count());
|
|
@@ -266,6 +279,8 @@ class ApiCryptoTest extends TestCase
|
|
|
$admin = (new \App\Http\Controllers\admin\Withdraw())->rmb()->getData(true);
|
|
$admin = (new \App\Http\Controllers\admin\Withdraw())->rmb()->getData(true);
|
|
|
self::assertSame(0, $admin['code'], $admin['msg']);
|
|
self::assertSame(0, $admin['code'], $admin['msg']);
|
|
|
$rows = array_column($admin['data']['data'], null, 'payout_method');
|
|
$rows = array_column($admin['data']['data'], null, 'payout_method');
|
|
|
|
|
+ self::assertSame('Fixture Bank', $rows['bank']['bank_name']);
|
|
|
|
|
+ self::assertSame('Fixture Branch', $rows['bank']['bank_branch']);
|
|
|
self::assertSame('Fixture Name', $rows['wechat']['recipient_name']);
|
|
self::assertSame('Fixture Name', $rows['wechat']['recipient_name']);
|
|
|
self::assertSame('fixture-login', $rows['wechat']['account']);
|
|
self::assertSame('fixture-login', $rows['wechat']['account']);
|
|
|
self::assertSame($qr, $rows['wechat']['qr_image']);
|
|
self::assertSame($qr, $rows['wechat']['qr_image']);
|
|
@@ -324,7 +339,8 @@ class ApiCryptoTest extends TestCase
|
|
|
{
|
|
{
|
|
|
$this->createWalletFixture();
|
|
$this->createWalletFixture();
|
|
|
$bank = $this->unwrap($this->sendEncrypted('/api/wallet/addBank', 'POST', [
|
|
$bank = $this->unwrap($this->sendEncrypted('/api/wallet/addBank', 'POST', [
|
|
|
- 'channel' => 'DF001', 'bank_name' => 'Fixture Bank', 'card_no' => '12345', 'account' => 'Fixture Name',
|
|
|
|
|
|
|
+ 'channel' => 'DF001', 'bank_name' => 'Fixture Bank', 'bank_branch' => 'Fixture Branch',
|
|
|
|
|
+ 'card_no' => '12345', 'account' => 'Fixture Name',
|
|
|
'alias' => 'ignored bank alias',
|
|
'alias' => 'ignored bank alias',
|
|
|
], true));
|
|
], true));
|
|
|
self::assertSame(0, $bank['code']);
|
|
self::assertSame(0, $bank['code']);
|
|
@@ -332,6 +348,12 @@ class ApiCryptoTest extends TestCase
|
|
|
DB::table('banks')->update(['alias' => 'old bank alias']);
|
|
DB::table('banks')->update(['alias' => 'old bank alias']);
|
|
|
$bankList = $this->unwrap($this->sendEncrypted('/api/wallet/bankList', 'GET', (object) [], true));
|
|
$bankList = $this->unwrap($this->sendEncrypted('/api/wallet/bankList', 'GET', (object) [], true));
|
|
|
self::assertSame('12345', $bankList['data']['list'][0]['card_no']);
|
|
self::assertSame('12345', $bankList['data']['list'][0]['card_no']);
|
|
|
|
|
+ self::assertSame('Fixture Bank', $bankList['data']['list'][0]['bank_name']);
|
|
|
|
|
+ self::assertSame('Fixture Branch', $bankList['data']['list'][0]['bank_branch']);
|
|
|
|
|
+ self::assertArrayNotHasKey('alias', $bankList['data']['list'][0]);
|
|
|
|
|
+ DB::table('banks')->update(['bank_branch' => null, 'alias' => 'Legacy Branch']);
|
|
|
|
|
+ $bankList = $this->unwrap($this->sendEncrypted('/api/wallet/bankList', 'GET', (object) [], true));
|
|
|
|
|
+ self::assertSame('Legacy Branch', $bankList['data']['list'][0]['bank_branch']);
|
|
|
self::assertArrayNotHasKey('alias', $bankList['data']['list'][0]);
|
|
self::assertArrayNotHasKey('alias', $bankList['data']['list'][0]);
|
|
|
|
|
|
|
|
$address = 'T' . str_repeat('A', 33);
|
|
$address = 'T' . str_repeat('A', 33);
|
|
@@ -350,19 +372,24 @@ class ApiCryptoTest extends TestCase
|
|
|
{
|
|
{
|
|
|
$this->createWalletFixture();
|
|
$this->createWalletFixture();
|
|
|
Cache::put('42_QB_WITHDRAW_CHANNEL', 'DF001');
|
|
Cache::put('42_QB_WITHDRAW_CHANNEL', 'DF001');
|
|
|
- Cache::put('42_QB_WITHDRAW_BANK_NAME', 'Fixture Bank');
|
|
|
|
|
|
|
+ QianBaoWithdrawService::onMessage(42, 'Fixture Bank', 1, StepStatus::QB_INPUT_BANK_NAME);
|
|
|
|
|
+ self::assertSame(StepStatus::QB_INPUT_BANK_BRANCH, Cache::get(get_step_key(42)));
|
|
|
|
|
+ QianBaoWithdrawService::onMessage(42, 'Fixture Branch', 1, StepStatus::QB_INPUT_BANK_BRANCH);
|
|
|
|
|
+ self::assertSame(StepStatus::QB_INPUT_CARD_NO, Cache::get(get_step_key(42)));
|
|
|
QianBaoWithdrawService::onMessage(42, '12345', 1, StepStatus::QB_INPUT_CARD_NO);
|
|
QianBaoWithdrawService::onMessage(42, '12345', 1, StepStatus::QB_INPUT_CARD_NO);
|
|
|
self::assertSame(StepStatus::QB_INPUT_ACCOUNT, Cache::get(get_step_key(42)));
|
|
self::assertSame(StepStatus::QB_INPUT_ACCOUNT, Cache::get(get_step_key(42)));
|
|
|
$saved = QianBaoWithdrawService::onMessage(42, 'Fixture Name', 2, StepStatus::QB_INPUT_ACCOUNT);
|
|
$saved = QianBaoWithdrawService::onMessage(42, 'Fixture Name', 2, StepStatus::QB_INPUT_ACCOUNT);
|
|
|
$keyboard = json_decode($saved['reply_markup'], true)['inline_keyboard'];
|
|
$keyboard = json_decode($saved['reply_markup'], true)['inline_keyboard'];
|
|
|
self::assertSame('12345', $keyboard[0][0]['text']);
|
|
self::assertSame('12345', $keyboard[0][0]['text']);
|
|
|
self::assertSame('', DB::table('banks')->where('card_no', '12345')->value('alias'));
|
|
self::assertSame('', DB::table('banks')->where('card_no', '12345')->value('alias'));
|
|
|
|
|
+ self::assertSame('Fixture Branch', DB::table('banks')->where('card_no', '12345')->value('bank_branch'));
|
|
|
self::assertNull(Cache::get(get_step_key(42)));
|
|
self::assertNull(Cache::get(get_step_key(42)));
|
|
|
|
|
|
|
|
Cache::put('42_QB_WITHDRAW_CARD_NO', '67890');
|
|
Cache::put('42_QB_WITHDRAW_CARD_NO', '67890');
|
|
|
Cache::put('42_QB_ACCOUNT', 'Fixture Name');
|
|
Cache::put('42_QB_ACCOUNT', 'Fixture Name');
|
|
|
- QianBaoWithdrawService::onMessage(42, 'ignored', 3, StepStatus::LEGACY_QB_INPUT_ALIAS);
|
|
|
|
|
|
|
+ QianBaoWithdrawService::onMessage(42, 'Legacy Branch', 3, StepStatus::LEGACY_QB_INPUT_ALIAS);
|
|
|
self::assertSame('', DB::table('banks')->where('card_no', '67890')->value('alias'));
|
|
self::assertSame('', DB::table('banks')->where('card_no', '67890')->value('alias'));
|
|
|
|
|
+ self::assertSame('Legacy Branch', DB::table('banks')->where('card_no', '67890')->value('bank_branch'));
|
|
|
|
|
|
|
|
$address = 'T' . str_repeat('A', 33);
|
|
$address = 'T' . str_repeat('A', 33);
|
|
|
$saved = WithdrawService::onMessage(42, $address, 4, StepStatus::INPUT_ADDRESS_TRC20);
|
|
$saved = WithdrawService::onMessage(42, $address, 4, StepStatus::INPUT_ADDRESS_TRC20);
|
|
@@ -377,6 +404,36 @@ class ApiCryptoTest extends TestCase
|
|
|
self::assertSame(0, DB::table('address')->whereNotNull('alias')->count());
|
|
self::assertSame(0, DB::table('address')->whereNotNull('alias')->count());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public function test_jd_and_usdt_require_a_saved_name_without_storing_it_on_orders(): void
|
|
|
|
|
+ {
|
|
|
|
|
+ $this->createWalletFixture();
|
|
|
|
|
+ $address = 'T' . str_repeat('A', 33);
|
|
|
|
|
+ $jd = ['channel' => 'JDpay', 'card_no' => 'jd-wallet', 'amount' => 100, 'safe_word' => 'fixture-password'];
|
|
|
|
|
+ $usdt = ['address' => $address, 'amount' => 20, 'safe_word' => 'fixture-password'];
|
|
|
|
|
+ $post = fn (string $route, array $params) => $this->unwrap(
|
|
|
|
|
+ $this->sendEncrypted('/api/wallet/' . $route, 'POST', $params, true)
|
|
|
|
|
+ );
|
|
|
|
|
+ self::assertSame('请先绑定收款账户并填写真实姓名', $post('payout', $jd + ['account' => 'Injected Name'])['msg']);
|
|
|
|
|
+ self::assertSame('请先绑定收款账户并填写真实姓名', $post('withdraw', $usdt + ['account' => 'Injected Name'])['msg']);
|
|
|
|
|
+ self::assertSame('请输入真实姓名', $post('addBank', ['channel' => 'JDpay', 'card_no' => 'jd-wallet'])['msg']);
|
|
|
|
|
+ self::assertSame('请输入真实姓名', $post('addAddress', ['address' => $address])['msg']);
|
|
|
|
|
+ self::assertNull(DB::table('users')->value('real_name'));
|
|
|
|
|
+
|
|
|
|
|
+ $binding = $post('addAddress', ['address' => $address, 'account' => 'Fixture Name']);
|
|
|
|
|
+ self::assertSame(0, $binding['code']);
|
|
|
|
|
+ self::assertSame('Fixture Name', $binding['data']['real_name']);
|
|
|
|
|
+ $jdBinding = $post('addBank', ['channel' => 'JDpay', 'card_no' => 'jd-wallet', 'account' => 'Ignored Name']);
|
|
|
|
|
+ self::assertSame(0, $jdBinding['code']);
|
|
|
|
|
+ self::assertSame('', DB::table('banks')->sole()->account);
|
|
|
|
|
+ $jdResult = $post('payout', $jd);
|
|
|
|
|
+ self::assertSame(0, $jdResult['code'], $jdResult['msg']);
|
|
|
|
|
+ self::assertSame('', DB::table('payment_orders')->sole()->account);
|
|
|
|
|
+ $usdtResult = $post('withdraw', $usdt);
|
|
|
|
|
+ self::assertSame(0, $usdtResult['code'], $usdtResult['msg']);
|
|
|
|
|
+ self::assertArrayNotHasKey('account', $usdtResult['data']);
|
|
|
|
|
+ self::assertSame('Fixture Name', DB::table('users')->value('real_name'));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
public function test_cors_preflight_and_head(): void
|
|
public function test_cors_preflight_and_head(): void
|
|
|
{
|
|
{
|
|
|
Route::get('api/wallet/probe', fn () => response()->json(['code' => 0]));
|
|
Route::get('api/wallet/probe', fn () => response()->json(['code' => 0]));
|
|
@@ -584,14 +641,31 @@ class ApiCryptoTest extends TestCase
|
|
|
$table->timestamps();
|
|
$table->timestamps();
|
|
|
});
|
|
});
|
|
|
(require dirname(__DIR__, 2) . '/database/migrations/2026_11_06_140000_add_qr_image_to_withdrawal_destinations.php')->up();
|
|
(require dirname(__DIR__, 2) . '/database/migrations/2026_11_06_140000_add_qr_image_to_withdrawal_destinations.php')->up();
|
|
|
|
|
+ (require dirname(__DIR__, 2) . '/database/migrations/2026_11_06_150000_add_bank_branch_to_withdrawal_destinations.php')->up();
|
|
|
|
|
+ Schema::create('config', function (Blueprint $table) {
|
|
|
|
|
+ $table->id();
|
|
|
|
|
+ $table->string('field');
|
|
|
|
|
+ $table->string('val');
|
|
|
|
|
+ });
|
|
|
|
|
+ DB::table('config')->insert([['field' => 'service_charge', 'val' => '1'], ['field' => 'exchange_rate_rmb', 'val' => '1']]);
|
|
|
|
|
+ Schema::create('withdraws', function (Blueprint $table) {
|
|
|
|
|
+ $table->id();
|
|
|
|
|
+ $table->string('member_id');
|
|
|
|
|
+ $table->string('address');
|
|
|
|
|
+ $table->integer('status');
|
|
|
|
|
+ foreach (['amount', 'service_charge', 'to_account', 'exchange_rate', 'after_balance'] as $field) {
|
|
|
|
|
+ $table->decimal($field);
|
|
|
|
|
+ }
|
|
|
|
|
+ $table->timestamps();
|
|
|
|
|
+ });
|
|
|
|
|
|
|
|
DB::table('users')->insert(['user_id' => '42', 'member_id' => '42', 'from' => 1, 'recharge_channel_group_id' => 1,
|
|
DB::table('users')->insert(['user_id' => '42', 'member_id' => '42', 'from' => 1, 'recharge_channel_group_id' => 1,
|
|
|
'payment_password' => password_hash('fixture-password', PASSWORD_DEFAULT)]);
|
|
'payment_password' => password_hash('fixture-password', PASSWORD_DEFAULT)]);
|
|
|
DB::table('user_session')->insert(['user_id' => '42', 'token' => self::TOKEN,
|
|
DB::table('user_session')->insert(['user_id' => '42', 'token' => self::TOKEN,
|
|
|
'expire_time' => time() + 3600, 'create_time' => time(), 'update_time' => time()]);
|
|
'expire_time' => time() + 3600, 'create_time' => time(), 'update_time' => time()]);
|
|
|
DB::table('wallets')->insert(['member_id' => '42', 'available_balance' => 1000]);
|
|
DB::table('wallets')->insert(['member_id' => '42', 'available_balance' => 1000]);
|
|
|
- DB::table('recharge_channel_group')->insert(['id' => 1, 'withdraw_type' => 'DF001,NOwithdraw,ZIMUwithdraw,JDpay,rgtx']);
|
|
|
|
|
- foreach (['DF001' => '银行卡', 'NOwithdraw' => 'NO快捷提现', 'ZIMUwithdraw' => '808账户提现', 'JDpay' => 'JD钱包', 'rgtx' => '人工提现'] as $type => $name) {
|
|
|
|
|
|
|
+ DB::table('recharge_channel_group')->insert(['id' => 1, 'withdraw_type' => 'DF001,NOwithdraw,ZIMUwithdraw,JDpay,rgtx,usdt']);
|
|
|
|
|
+ foreach (['DF001' => '银行卡', 'NOwithdraw' => 'NO快捷提现', 'ZIMUwithdraw' => '808账户提现', 'JDpay' => 'JD钱包', 'rgtx' => '人工提现', 'usdt' => 'USDT提现'] as $type => $name) {
|
|
|
DB::table('recharge_channel')->insert(['data_type' => 2, 'status' => 1, 'sort' => 0,
|
|
DB::table('recharge_channel')->insert(['data_type' => 2, 'status' => 1, 'sort' => 0,
|
|
|
'name' => $name, 'type' => $type, 'rate' => 0, 'min' => 10, 'max' => 5000]);
|
|
'name' => $name, 'type' => $type, 'rate' => 0, 'min' => 10, 'max' => 5000]);
|
|
|
}
|
|
}
|