Skip to content

Commit f191650

Browse files
Add more payment request tests
1 parent 4560cce commit f191650

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

tests/ApiTest.php

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,42 @@
121121
$request = $payment_requests_api->get('pcqghkrpztq1');
122122
expect(isset($request['id']))->toBeTrue();
123123
expect($request['id'])->toBe('pcqghkrpztq1');
124+
125+
$request_data = [
126+
'action' => 'sale',
127+
'additional_edit' => false,
128+
'allow_credit' => true,
129+
'amount' => 100,
130+
'currency' => 'BGN',
131+
'max_scan_age' => 600,
132+
'pos_id' => '7DROG',
133+
'pos_tid' => date('YmdHis'),
134+
];
135+
$request = $merchant_api->payment_requests->create($request_data);
136+
137+
$outcome = $merchant_api->payment_requests->outcome($request['id']);
138+
expect($outcome['status'])->toBe('pending');
139+
expect($outcome['amount'])->toBe($request_data['amount']);
140+
141+
try {
142+
$merchant_api->payment_requests->capture($request['id'], $request_data['currency'], $request_data['amount']);
143+
expect(true)->toBeFalse(); // make sure we don't hit this line
144+
} catch (SettleApiException $e) {
145+
expect($e->getCode())->toBe(409);
146+
expect($e->getMessage())->toContain("Tried to capture payment before customer authorized payment or after authorization has expired");
147+
}
148+
149+
try {
150+
$merchant_api->payment_requests->refund($request['id'], $request_data['currency'], $request_data['amount']);
151+
expect(true)->toBeFalse(); // make sure we don't hit this line
152+
} catch (SettleApiException $e) {
153+
expect($e->getCode())->toBe(400);
154+
expect($e->getMessage())->toContain("The requested amount for refund is larger than the captured amount");
155+
}
156+
157+
$merchant_api->payment_requests->update($request['id'], ['action' => 'abort']);
158+
$outcome = $merchant_api->payment_requests->outcome($request['id']);
159+
expect($outcome['status'])->toBe('fail');
124160
});
125161

126162
test('API [not working]: Settlements', function() {

0 commit comments

Comments
 (0)