mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-01 03:02:43 +01:00
f790a2aeec
Summary: Abstract out the Stripiness of payment providers so we can add a Test provider (and maybe MtGox / Balanced / Paypal / etc). Ref T2787. Test Plan: Ran unit tests. Reviewers: btrahan, chad Reviewed By: btrahan CC: aran Maniphest Tasks: T2787 Differential Revision: https://secure.phabricator.com/D5752
23 lines
869 B
PHP
23 lines
869 B
PHP
<?php
|
|
|
|
final class PhortuneMultiplePaymentProvidersException extends Exception {
|
|
|
|
public function __construct(PhortunePaymentMethod $method, array $providers) {
|
|
assert_instances_of($providers, 'PhortunePaymentProvider');
|
|
$type = $method->getMetadataValue('type');
|
|
|
|
$provider_names = array();
|
|
foreach ($providers as $provider) {
|
|
$provider_names[] = get_class($provider);
|
|
}
|
|
|
|
return parent::__construct(
|
|
"More than one payment provider can handle charging payments for this ".
|
|
"payment method. This is ambiguous and likely indicates that a payment ".
|
|
"provider is not properly implemented. You may be able to use a ".
|
|
"different payment method to complete this transaction. The payment ".
|
|
"method type is '{$type}'. The providers claiming to handle it are: ".
|
|
implode(', ', $provider_names).'.');
|
|
}
|
|
|
|
}
|