checkout / checkout-sdk-php Goto Github PK
View Code? Open in Web Editor NEWCheckout SDK for PHP
License: MIT License
Checkout SDK for PHP
License: MIT License
#57 was merged with some broken changes,
public function refund(Refund $refund, $mode = HttpHandler::MODE_EXECUTE)
{
$response = $this->requestAPI($refund->getEndpoint())
->setBody($refund->getValues());
->setBody($refund->getValues())
->setIdempotencyKey($payment->getIdempotencyKey());
return $this->response($response, Refund::QUALIFIED_NAME, $mode, $refund->id);
}
setIdempotencyKey is passed parameter $payments which is undefined, should be $refund, same errors in void() and capture() methods
The link to the documentation in the wiki is broken:
https://github.com/checkout/checkout-sdk-php/wiki/2.-Payments#request-a-payment
The "documentation" link on this page should point to:
https://api-reference.checkout.com/#tag/Payments
i got this while trying to use the refund code.
TypeError: Argument 1 passed to Checkout\Controllers\PaymentController::refund() must be an instance of Checkout\Models\Payments\Refund, string given, called in /var/www/html/app/Http/Controllers/Pay.php on line 108 in file /var/www/html/vendor/checkout/checkoutsdkphp/src/Controllers/PaymentController.php on line 82
this is my code
$secretKey = '***'; $checkout = new CheckoutApi($secretKey); $payment = new Refund($request->id); // Partial capture: $payment->amount = 999; $refund = $checkout->payments()->refund($request->id);
Hi,
I want to check a payment after a 3DSecure Challenge : https://docs.checkout.com/docs/get-payment-details
Is it possible to do this with this SDK ?
Thanks
Hi,
I try to set the Phone and The Shipping Address, but i'm doing wrong i suppose.
The API is not so amazing about this as well.
I did something like this for the phone but doesn't work
$customerPhone = new \Checkout\Models\Phone();
$customerPhone->number = $phone;
$payment->shipping = new \stdClass();
$payment->shipping->phone = $customerPhone;
And i have no idea for the address.
Thanks
The second argument of the CheckoutApi
constructor is pretty misleading as PHP developers would generally expect -1
to be equivalent to false
, or at least definitely not the same as true
;).
$api = new CheckoutApi('<secret_key>'); // sandbox mode
$api = new CheckoutApi('<secret_key>', true); // sandbox mode
$api = new CheckoutApi('<secret_key>', -1); // sandbox mode
$api = new CheckoutApi('<secret_key>', false); // production mode
On the following page:
https://github.com/checkout/checkout-sdk-php/wiki/2.-Payments#details
The capture, void and refund code examples should present the full class paths so that the users don't have to look for them - same as the full card code example.
$checkout = new CheckoutApi($secretKey);
$card = new Card('4543 4740 0224 9996', 10, 2025);
$card->cvv = 100;
$token = $checkout->tokens()->request($card);
Fatal error: Uncaught exception 'Checkout\Library\Exceptions\CheckoutHttpException' with message 'The endpoint did not accept the request. (Code: 401)' in /home/bmain/public_html/GameOfTrades_11284/checkout-lib/src/Library/HttpHandler.php:327
hello,
I have installed checkut-SDK in my Laravel application but I am stuck with the TokenSource. In my scenario, the User submits a request to book the home I have to save user card details and use them when the admin accepts the request. Please see the following line where I need to put CardToken, mostly this token is being created from JS, but in my case I can't use the JS. I want to fetch data from DB and send request from the controller. In simple words, I cannot use Frames here in my scenario.
$method = new TokenSource('tok_rn3njn7dnbrefbu23zhbqqjeay');
Anyone, please suggest the solution for that, I badly need this.
Following the example here: https://github.com/checkout/checkout-sdk-php/wiki/2.-Payments
I tried below code but it fails with Response Code 404 The endpoint did not accept your request:
$additionalInformation = $payment->getAdditionalInformation();
$invoiceId = $this->invoiceOrder->execute($orderId, false, $items, true);
$invoice = $this->invoice->load($invoiceId);
$storeCode = $this->storeManager->getStore($order->getStoreId())->getCode();
$secretKey = $this->checkoutcomConfig->getValue('secret_key', null, $storeCode);
$checkout = new CheckoutApi($secretKey);
$payment = new \Checkout\Models\Payments\Capture($additionalInformation['transaction_info']['source']['id']);
$payment->amount = $invoice->getGrandTotal();
$capture = $checkout->payments()->capture($payment);
I also tried below which says invalid Request endpoint did not accept:
$data = [
'methodId' => $paymentMethod,
'cardBin' => $additionalInformation['transaction_info']['source']['bin'],
'saveCard' => false,
'source' => $paymentMethod,
'cardToken' => $additionalInformation['transaction_info']['source']['fingerprint']
];
$this->methodHandler
->get($paymentMethod)
->sendPaymentRequest(
$data,
$invoice->getGrandTotal(),
$order->getOrderCurrencyCode(),
$order->getIncrementId()
);
Also tried below method which gives same error Endpoint did not accept request Error Code 400:
```
$method = new \Checkout\Models\Payments\IdSource($additionalInformation['transaction_info']['source']['id']);
$payment = new \Checkout\Models\Payments\Payment($method, $order->getOrderCurrencyCode());
$payment->capture = true;
$payment->amount = $invoice->getGrandTotal();
$response = $checkout->payments()->request($payment);
Please let us know how we can capture partial payments programmatically.
Hi,
It's not a big deal, but I noticed that when I create a payment and later I capture it and refund, both objects doesn't contain information about amount. When I check actions informations about amount are present
object(Checkout\Models\Response)#412 (2) { ["list"]=> array(3) { [0]=> object(Checkout\Models\Payments\Action)#374 (7) { ["id"]=> string(30) "act_hv4ewmdkvqwendhxstriktubhq" ["type"]=> string(6) "Refund" ["processed_on"]=> string(20) "2019-07-04T13:06:52Z" ["amount"]=> int(12345) ["approved"]=> bool(true) ["response_code"]=> string(5) "10000" ["response_summary"]=> string(8) "Approved" } [1]=> object(Checkout\Models\Payments\Action)#827 (8) { ["id"]=> string(30) "act_hi525gy7wscuhamnhwn7lacx7i" ["type"]=> string(7) "Capture" ["processed_on"]=> string(20) "2019-07-04T13:06:50Z" ["amount"]=> int(12345) ["approved"]=> bool(true) ["response_code"]=> string(5) "10000" ["response_summary"]=> string(8) "Approved" ["processing"]=> array(2) { ["acquirer_transaction_id"]=> string(10) "8138434673" ["acquirer_reference_number"]=> string(12) "000111280834" } } [2]=> object(Checkout\Models\Payments\Action)#414 (9) { ["id"]=> string(30) "act_le7hsxg37boehpksrupde5geju" ["type"]=> string(13) "Authorization" ["processed_on"]=> string(20) "2019-07-04T13:06:48Z" ["amount"]=> int(12345) ["approved"]=> bool(true) ["auth_code"]=> string(6) "078839" ["response_code"]=> string(5) "10000" ["response_summary"]=> string(8) "Approved" ["processing"]=> array(2) { ["acquirer_transaction_id"]=> string(10) "8138434669" ["retrieval_reference_number"]=> string(12) "000078839029" } } } ["http_code"]=> int(200) }
Here is Refund
object(Checkout\Models\Payments\Refund)#793 (7) { ["id"]=> string(30) "pay_le7hsxg37boehpksrupde5geju" ["amount"]=> NULL ["reference"]=> string(0) "" ["metadata"]=> object(Checkout\Models\Payments\Metadata)#798 (0) { } ["action_id"]=> string(30) "act_hv4ewmdkvqwendhxstriktubhq" ["_links"]=> array(1) { ["payment"]=> array(1) { ["href"]=> string(72) "https://api.sandbox.checkout.com/payments/pay_le7hsxg37boehpksrupde5geju" } } ["http_code"]=> int(202) }
Here is Capture
`
object(Checkout\Models\Payments\Capture)#799 (7) {
["id"]=>
string(30) "pay_le7hsxg37boehpksrupde5geju"
["amount"]=>
NULL
["reference"]=>
string(0) ""
["metadata"]=>
object(Checkout\Models\Payments\Metadata)#453 (0) {
}
["action_id"]=>
string(30) "act_hi525gy7wscuhamnhwn7lacx7i"
["_links"]=>
array(1) {
["payment"]=>
array(1) {
["href"]=>
string(72) "https://api.sandbox.checkout.com/payments/pay_le7hsxg37boehpksrupde5geju"
}
}
["http_code"]=>
int(202)
}
`
Best regards,
Michal
Hi, I was just checking the PHP sdk and I'm unable to find the API for how can i create a customer while creating a payment and how can i add multiple payment source(i.e. multiple cards) to a single customer using this sdk.
Thanks
Hi there!
I'm facing an issue while trying to proccess the credit card payment. I made a vardump in my procces payment file and I got this error:
Notice: Undefined variable: paymentToken in /home/my_domain_name/process_checkout.php on line 8
NULL
The funny thing is that this code is working perfectly on the other domain but when I copied the code to another domain it gives me the error mentioned above. I've changed the API keys of course...
I'm using PHP SDK and the both domains are on sandbox still.
Could anyone help please?
Thanks!
I have read all the wiki, but error handling and validation is not covered.
Currently I am using this snippet. I don't like it, because it contains two different catch blocks and a check after all of it. The biggest problem is that I can't tell to the user what is wrong with a form if $response->isSuccessful()
is not successful, because $response->getErrors()
is always empty.
$method = new \Checkout\Models\Payments\TokenSource($request->get('token'));
$payment = new \Checkout\Models\Payments\Payment($method, $order->product_currency);
$payment->amount = bcmul($order->product_price, 100);
$payment->reference = $order->id;
try {
/** @var Payment $response */
$response = $checkoutApi->payments()->request($payment);
} catch (CheckoutHttpException $e) {
throw ValidationException::withMessages(['payment_method' => $e->getErrors() ?: [$e->getMessage()]]);
} catch (CheckoutModelException $e) {
throw ValidationException::withMessages(['payment_method' => [$e->getMessage()]]);
}
if (!$response->isSuccessful()) {
throw ValidationException::withMessages(['payment_method' => $response->getErrors() ?: ['Invalid card data']]);
}
$order->status = Order::STATUS_APPROVED;
Hi,
we want implement Reconciliation and use checkout api, but it is not possible right now, because CheckoutApi is final.
Please set methods final, not whole class.
Thanks
Hi,
I'm unable to pay using a stored card due to a token_invalid error.
I'm storing the card by sending the customer details on the first transaction:
$checkout = new CheckoutApi(...);
$method = new TokenSource($token);
// Prepare the payment parameters
$payment = new Payment($method, 'GBP');
$payment->amount = 100;
$customer = new CustomerSource($email);
$response = $checkout->payments()->request($payment);
The initial payment works and I can see the email associated in the hub. I'm storing the resulting card source token e.g.:
$stored_token = $response ->source['scheme']; // src_...
The second cardholder initiated transaction is as follows:
$checkout = new CheckoutApi(...);
$method = new TokenSource($stored_token);
$method->source = 'stored'; // I'm assuming this is correct after reading the docs
// Prepare the payment parameters
$payment = new Payment($method, 'GBP');
$payment->amount = 100;
$customer = new CustomerSource($email);
$response = $checkout->payments()->request($payment); // fails with token_invalid error
Unit tests hasn't been updated for a while.
Hi,
I'm working on integration of Checkout.com in our project. While trying to fetch a list of events I noticed this bug
`In Event.php line 88:
[Symfony\Component\Debug\Exception\ContextErrorException]
Warning: Invalid argument supplied for foreach()
Exception trace:
() at /home/michal/projects/somtel-api/vendor/checkout/checkout-sdk-php/src/Models/Events/Event.php:88
Checkout\Models\Events\Event::create() at /home/michal/projects/somtel-api/vendor/checkout/checkout-sdk-php/src/Library/Model.php:95
Checkout\Library\Model::arrayToModel() at /home/michal/projects/somtel-api/vendor/checkout/checkout-sdk-php/src/Models/Events/Event.php:108
Checkout\Models\Events\Event::arrayToModel() at /home/michal/projects/somtel-api/vendor/checkout/checkout-sdk-php/src/Library/Model.php:84
Checkout\Library\Model::load() at /home/michal/projects/somtel-api/vendor/checkout/checkout-sdk-php/src/Library/Controller.php:93
Checkout\Library\Controller->response() at /home/michal/projects/somtel-api/vendor/checkout/checkout-sdk-php/src/Controllers/EventController.php:94
Checkout\Controllers\EventController->retrieve() at /home/michal/projects/somtel-api/src/RemitBundle/Service/CheckoutComService.php:60
`
I guess it's related to a fact that we might not have any events yet.
Best regards,
Michal
checkout-sdk-php/src/CheckoutApi.php
Line 154 in 298cb2b
It should be boolean even for default value.
What about it. How will I be able to get rid of the error?
Just starting to use this package in a Laravel project, used composer to install it, and added a payment function for it
$secretKey = 'sk_test_111';
$checkout = new CheckoutApi($secretKey);
$method = new CardSource('5436031030606378', 12, 2024);
$method->cvv = '257';
$payment = new CkPayment($method, 'GBP');
$payment->capture = false;
$payment->amount = 1000;
try {
$checkout->payments()->request($payment);
} catch (CheckoutHttpException $e) {
dd($e);
return false;
}
I keep getting this error
Checkout\Library\Exceptions\CheckoutHttpException {#312 ▼
#body: "{"request_id":"111","error_type":"processing_error","error_codes":["server_api_not_allowed"]}"
#errors: array:1 [▶]
#message: "The endpoint did not accept the request. (Code: 500)"
#code: 500
#file: "/home/vagrant/xyz/vendor/checkout/checkout-sdk-php/src/Library/HttpHandler.php"
#line: 327
trace: {▶}
}
Hi checkout team,
Do you have any plans to add instruments into the SDK?
https://api-reference.checkout.com/#tag/Instruments/paths/~1instruments/post
https://github.com/checkout/checkout-sdk-php/wiki/5.-Events
The events endpoint currently supports the actions create, load, notification, retrieve, types, webhook.
These are not described correctly in the event docs.
Hi
I would like to know if this package supports checkout's classic api also or just support checkout's v2 apis
Thanks
The CheckoutApi class is final, and therefor cannot be extended.
This is a problem for Unit Tests, because we need to mock this class.
If that is not a problem, I suggest to remove the final attribute from the CheckoutApi class.
The isPending() function as defined in the Payment.php relies on the http status code to be 202
checkout-sdk-php/src/Models/Payments/Payment.php
Lines 130 to 133 in 81c6aa8
However this model is used in the response to the Details
API here:
checkout-sdk-php/src/Controllers/PaymentController.php
Lines 98 to 104 in 81c6aa8
I had a case where a merchant was relying on that function and had some unexpected issues, considering the result of isPending()
as an answer to if the payment status itself is Pending.
Would it be a good idea to do a different model to parse the Details API response?
Hey!
Just out of curiosity, should I manage Mada payments outside of this package?
In another words can this package implement Mada payments?
The only thing I see different from other payment methods is that Mada require the following:
3ds.enabled
to true
& metadata.udf1
to mada
.capture
or capture_on
should be omitted from the request since mada only support purchases and refunds (no authorization or void).I thought about adding a new payment within Models/Payments
, but I have never used this package before nor have I checked the code deeply.
Therefore, the real question is does the payments that extend Models/Payments/Payment
can customize or manipulate the request in anyway?
If so, I think I can integrate Mada after looking into the code a little more!
To be honest, I asked this because if it would require too much work I would prefer not to use the package and try to build a simple solution using Guzzle since that would integrate nicely with our code.
Right now the SDK only supports enabling 3DS. Would it be possible to add attempt_n3d option to the 3DS constructor?
I notice that the composer.json requires php >=5.4.0
, which implies that php 8
is supported.
Do we know how good the support is currently - particularly, do we run the test suites on php 8 and how good the code coverage are they?
I think it's a critical issue to automatically log to the filesystem. For example, in my environment (symfony) it was just writing logs in the "web/" directory which is public.
The logging should be replaced by the a standard php-fig solution defined in (https://github.com/php-fig/log). Most commonly https://github.com/Seldaek/monolog.
Hi,
I am using checkout.com SDK in Laravel to charge the customer with their Credit Card. I am getting this error
token_invalid
May you please help me? How can I get this token?
I read the previous issues. And in those mention like $request->token
but how the token will available? When I use $request->token
it returns me null
.
Thank You,
The first line of the readme file states:
The Checkout SDK for PHP enables developers to easily work with Checkout.com APIs. It requires PHP 5.6.
This could be misleading for users looking for the PHP 7 series.
The require-dev section of this SDK requires this version of phpunit :
"symfony/phpunit-bridge": "^6.0.0",
This is a problem for us because we use Symfony 5.4 and therefore we cannot install your SDK
Could you try with this requirement :
"symfony/phpunit-bridge": "^5.4|^6.0.0",
Hi,
I've got a question related to card source ids.
In https://docs.checkout.com/docs/use-an-existing-card there is an information that I can use a source id for transaction.
I'm trying to use 'src_ujfjtv6arh3evdccwa5co2nhby' as $tokenId
$method = new TokenSource($tokenId);
$payment = new Payment($method, $currency);
but payments()->request($payment);
returns 'The endpoint did not accept the request. (Code: 422)'.
Should I use a different class for method?
Best regards,
Michal
There is no api to get an Instrument By Id.
I need this API and this is the code:
Checkout\Controllers\InstrumentController
:
/**
* Get details.
*
* @param string id
* @param integer $mode
* @return mixed
*/
public function details($id, $mode = HttpHandler::MODE_EXECUTE)
{
$details = new Details($id);
$response = $this->requestAPI($details->getEndpoint());
return $this->response($response, Instrument::QUALIFIED_NAME, $mode);
}
and add a new file Checkout\Models\Instruments\Details
<?php
/**
* Checkout.com
* Authorised and regulated as an electronic money institution
* by the UK Financial Conduct Authority (FCA) under number 900816.
*
* PHP version 7
*
* @category SDK
* @package Checkout.com
* @author Platforms Development Team <[email protected]>
* @copyright 2010-2019 Checkout.com
* @license https://opensource.org/licenses/mit-license.html MIT License
* @link https://docs.checkout.com/
*/
namespace Checkout\Models\Instruments;
use Checkout\Library\HttpHandler;
use Checkout\Library\Model;
/**
* Instrument Details model.
*
* @category SDK
* @package Checkout.com
* @author Platforms Development Team <[email protected]>
* @license https://opensource.org/licenses/mit-license.html MIT License
* @link https://docs.checkout.com/
*/
class Details extends Model
{
/**
* Qualified name of the class.
*
* @var string
*/
const QUALIFIED_NAME = __CLASS__;
/**
* Name of the model.
*
* @var string
*/
const MODEL_NAME = 'details';
/**
* API Request URL.
*
* @var string
*/
const MODEL_REQUEST_URL = 'instruments/{id}';
/**
* API Request Method.
*
* @var string
*/
const MODEL_REQUEST_METHOD = HttpHandler::METHOD_GET;
/**
* Magic Methods
*/
/**
* Initialise Details
*
* @param string $id
*/
public function __construct($id)
{
$this->id = $id;
}
}
I tested It .. if you please add this to the repo or give me an access to make a Pull Request
Due to the recent compliance requirements in the region. Merchants would need to submit subMerchant information in the API request. Would you guys be able to add the support for object highlighted below in the PHP SDK? all the highlighted fields should be optional to allow other merchants to skip sending those parameters if not required in their region/agreement.
Here’s how the object should look like in a payment request:
{
“source”: {
“type”: “token”,
“token”: “tok_hgt678iuhGtyuioiHgyu89”
},
“amount”: 4500,
“currency”: “SAR”,
“reference”: “Fyugtr56t678Yhui67",
"processing": {
"aggregator": {
"sub_merchant_id": "9874587412",
"sub_merchant_name": "Foodics - catering business",
"sub_merchant_legal_name": "Foodics catering service LLC",
"sub_merchant_street": "Kuwait Street 1",
"sub_merchant_city": "Kuwait City",
"sub_merchant_country": "KWT",
"sub_merchant_postal_code": "60000",
"sub_merchant_state": "Kuwait",
"sub_merchant_email": "[[email protected]](mailto:[email protected])",
"sub_merchant_phone": "[+965412478112](tel:+965412478112)",
"sub_merchant_Industry_Code": "5411"
}
}
}
Hi,
I'm trying to update a just created webhook and I'm getting
`
In HttpHandler.php line 327:
[Checkout\Library\Exceptions\CheckoutHttpException (500)]
The endpoint did not accept the request. (Code: 500)
Exception trace:
() at /home/michal/projects/somtel-api/vendor/checkout/checkout-sdk-php/src/Library/HttpHandler.php:327
Checkout\Library\HttpHandler->handleError() at /home/michal/projects/somtel-api/vendor/checkout/checkout-sdk-php/src/Library/HttpHandler.php:296
Checkout\Library\HttpHandler->execute() at /home/michal/projects/somtel-api/vendor/checkout/checkout-sdk-php/src/Library/Controller.php:93
Checkout\Library\Controller->response() at /home/michal/projects/somtel-api/vendor/checkout/checkout-sdk-php/src/Controllers/WebhookController.php:147
Checkout\Controllers\WebhookController->update() at /home/michal/projects/somtel-api/src/RemitBundle/Service/CheckoutComService.php:112
`
Here is a code that I use
`
public function webhooksUpdate(string $id, string $url): Webhook
{
$webhook = new Webhook($url, $id);
return $this->checkoutApi->webhooks()->update($webhook);
}
`
Best regards,
Michal
Hi!
I'm trying to get a checkout token for an Apple Pay token using this:
$applePayTokenHeader = new ApplePayHeader($transactionId', $publicKeyHash, $ephemeralPublicKey');
$applePayToken = new ApplePay($version, $signature, $data, $applePayTokenHeader);
$this->checkoutApi->tokens()->request($applePayToken);
But the token received does not contains the "scheme" attribute as specified in the main API:
{
"type": "applepay",
"token": "tok_xpn7bku43soenctdlqgw2zbpk4",
"expires_on": "2021-12-24T13:46:27Z",
"expiry_month": 12,
"expiry_year": 2023,
"last4": "6544",
"bin": "492483",
"token_format": "cryptogram_3ds",
"http_code": 201
}
Anybody knows why? What I'm doing wrong?
For events the action load() exists, which loads a single event by ID from the API.
However, the implementation of https://api-reference.checkout.com/#operation/retrieveEvent in the PHP SDK removes the 'data' node of the response which contains the actual data. This renders the load() action useless.
Hi,
Small problem. I think it should math
results.txt
object(Checkout\Models\Response)#792 (7) { ["list"]=> array(10) { [..] ["total_count"]=> int(7)
Isn't it?
Best regards,
Michal
Hi,
I am trying to capture the amount from card programmatically. But it only seems to accept integer amounts. There will be instances where will need to charge amounts upto 2 decimal places. Which is also the default price format of magento. Also, the captured amount reflects incorrect in checkout.com dashboard. Here is the code:
$additionalInformation = $payment->getAdditionalInformation();
$invoiceId = $this->invoiceOrder->execute($orderId, false, $items, true);
$invoice = $this->invoice->load($invoiceId);
$storeCode = $this->storeManager->getStore($order->getStoreId())->getCode();
$checkout = $this->checkoutcomService->init($storeCode);
$payment = new \Checkout\Models\Payments\Capture($additionalInformation['transaction_info']['id']);
$payment->amount = (int) $invoice->getGrandTotal(); //Output = 190
$capture = $checkout->checkoutApi->payments()->capture($payment);
return $invoiceId;
The class construct \Checkout\Models\Payments\Capture::__construct has typehint of amount as integer.
Checkout.com Dashboard shows captured amount as 1.90
and the response from checkout.com shows 190 as below:
{
"id": "<<event_id>>",
"type": "payment_captured",
"created_on": "2019-08-07T16:18:15Z",
"data": {
"action_id": "<<Action_Id>>",
"response_code": "10000",
"response_summary": "Approved",
"amount": 190,
"metadata": {
"methodId": "checkoutcom_card_payment",
"quoteData": "{\"quote_id\":\"<<quote_id>>\",\"store_id\":1,\"customer_email\":null}"
},
"processing": {
"acquirer_transaction_id": "<<acq_trans>>",
"acquirer_reference_number": "<<acq_ref>>"
},
"id": "<<payment_id>>",
"currency": "AED",
"processed_on": "2019-08-07T16:18:15Z",
"reference": "<<my_reference>>"
},
"_links": {
"self": {
"href": "https://api.sandbox.checkout.com/events/<<event_id>>"
},
"payment": {
"href": "https://api.sandbox.checkout.com/payments/<<my_id>>"
}
}
}
Hello dear ,
I'm having an issue in the checkout-sdk-php when payments using apple pay
after pay using apple pay and Create a Apple Pay token then Create new payment method this error appear to me .
Checkout\Library\Exceptions\CheckoutHttpException: The endpoint did not accept the request. (Code: 422) in vendor/checkout/checkout-sdk-php/src/Library/HttpHandler.php:327
Any one can help me to fix this bug ??
Hi,
I'm trying to use this SDK on a personal project, but when I charge a card, there's no obvious way to attach an email and in the sandbox console, I see emails like [email protected]
. I read the wiki I could not find anything. Can someone update the wiki with a really basic example under the payments section?
Thanks.
Your docs are REALLY slim when it comes to accepting PayPal payments. Is there any resource that describes how to implement PayPal payments with PHP in combination with checkout.com?
Do I need to use CURL, or can I use your PHP API? If the API, how?
Hi!
Our team currently working on checkout.com integrations and there are some pitfalls caused by SDK.
2.HttpHandler
Here we have the same problems, we have decorated Guzzle to support critical for us request-response logging and mocking and also there is no way to override or decorate statically created HttpHandler.
Unfortunately we can't use SDK and obligated to create own fork or implementation.
So, do you have any ability to implement support of standard PSR-3 and PSR-18 interfaces or maybe open to accept PR?
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.