Fix Mini Pay sheet: same-origin pay URL and visible chrome.
Deploy Ladill Mini / deploy (push) Successful in 57s
Deploy Ladill Mini / deploy (push) Successful in 57s
Cross-origin fetch to ladl.link had no CORS, so showSheet never ran. Open the sheet immediately and keep Paystack behind the Continue CTA.
This commit is contained in:
@@ -43,11 +43,59 @@ class MiniPaymentCheckoutTest extends TestCase
|
||||
->assertSee('Your payment is processed securely', false)
|
||||
->assertSee('md:items-center', false)
|
||||
->assertSee('Complete your payment', false)
|
||||
->assertSee('data-ladill-pay-sheet', false)
|
||||
->assertSee('/q/'.$qr->short_code.'/pay', false)
|
||||
->assertDontSee('https://ladl.link/'.$qr->short_code.'/pay', false)
|
||||
->assertDontSee('MTN MoMo number', false)
|
||||
->assertDontSee('Pay with MTN MoMo', false)
|
||||
->assertDontSee('Paystack checkout', false);
|
||||
}
|
||||
|
||||
public function test_json_pay_post_is_not_redirected_to_ladill_link(): void
|
||||
{
|
||||
$user = User::create([
|
||||
'public_id' => (string) Str::uuid(),
|
||||
'name' => 'Vendor',
|
||||
'email' => 'vendor-ajax@example.com',
|
||||
]);
|
||||
|
||||
$qr = QrCode::query()->create([
|
||||
'user_id' => $user->id,
|
||||
'short_code' => 'payajax01',
|
||||
'type' => QrCode::TYPE_PAYMENT,
|
||||
'label' => 'Till',
|
||||
'payload' => [
|
||||
'content' => [
|
||||
'business_name' => 'Accra Kiosk',
|
||||
'currency' => 'GHS',
|
||||
],
|
||||
'style' => [],
|
||||
],
|
||||
'is_active' => true,
|
||||
]);
|
||||
|
||||
$pay = Mockery::mock(PayClient::class);
|
||||
$pay->shouldReceive('createCheckout')
|
||||
->once()
|
||||
->andReturn([
|
||||
'id' => 100,
|
||||
'reference' => 'LP-TESTMINIAjax01',
|
||||
'checkout_url' => 'https://checkout.paystack.com/mini-ajax',
|
||||
'provider' => 'paystack',
|
||||
'platform_fee_minor' => 15,
|
||||
'merchant_amount_minor' => 985,
|
||||
]);
|
||||
$this->app->instance(PayClient::class, $pay);
|
||||
|
||||
// No INTERNAL header — XHR/JSON must still hit Mini, not 307 to ladl.link.
|
||||
$this->postJson('/q/'.$qr->short_code.'/pay', [
|
||||
'amount' => 10,
|
||||
])
|
||||
->assertOk()
|
||||
->assertJsonPath('checkout_url', 'https://checkout.paystack.com/mini-ajax')
|
||||
->assertJsonPath('provider', 'paystack');
|
||||
}
|
||||
|
||||
public function test_pay_initiation_does_not_require_phone_and_returns_paystack_checkout(): void
|
||||
{
|
||||
$user = User::create([
|
||||
|
||||
Reference in New Issue
Block a user