У меня была проблема с Wepay API. Мои коды верны, но он продолжает выдавать ошибку, в которой говорится, что «метод оплаты не существует или не относится к приложению». Я уже настроил разрешение на использование токенов кредитных карт. Но до сих пор. Любая обратная связь с благодарностью. Спасибо!
Вот мой код
require_once('public/payment/wepay/wepay.php');
$user = API::get_client(['fldClientEmail' => $email])->first();
// change to useProduction for live environments
\Wepay::useStaging(WEPAY_CLIENT_ID, WEPAY_CLIENT_SECRET);
$wepay = new \WePay($user->fldClientWepayTokenAccess);
// $wepay = new \WePay(WEPAY_ACCESS_TOKEN);
// dd($email);die;
// dd($user->fldClientWepayAccountID);die;
// charge the credit card
$response = $wepay->request('checkout/create', [
'account_id' => $user->fldClientWepayAccountID,
'amount' => number_format(Input::get('amount_tipped'),2),
'currency' => 'USD',
'short_description' => 'A short description',
'type' => 'goods',
'payment_method' => array(
'type' => 'credit_card',
'credit_card' => array(
'id' => Input::get('cc_id')
)
)
]);
// display the response
return $response;
Убедитесь, что, следуя руководству из их документов, вы заменяете все учетные данные из примеров. Я использовал их библиотеку Javascript для токенизации кредитной карты с client_id
они предоставили.
response = WePay.credit_card.create({
"client_id": YOUR.CLIENT.ID.HERE,
"user_name": valueById('name'),
"email": valueById('email'),
"cc_number": valueById('cc-number'),
"cvv": valueById('cc-cvv'),
"expiration_month": valueById('cc-month'),
"expiration_year": valueById('cc-year'),
"address": {
"postal_code": valueById('postal_code')
}
Если вы не предоставляете свои собственные, это как если бы вы создавали эти кредитные карты для другого приложения, которое не принадлежит вам.
Если это не сработало, проверьте эту статью, надеюсь, это поможет:
https://support.wepay.com/hc/en-us/articles/203609273-WePay-API-Error-Codes
Других решений пока нет …