Replies: 1 comment 2 replies
-
Bonjour, Si je comprends bien vous souhaitez exécuter le paiement avec l'instrument enregistré sans présence du consommateur. Dans ce cas vous devez spécifier le paramètre "merchant_initiated" à true. Le paramètre auto_capture permet de lancer la capture du paiement juste après l'autorisation de manière automatique. |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Bonjour,
après avoir correctement enregistré un moyen de paiement via PaygreenJS (reusable = true), je lance une purchaseOrder via la méthode createPaymentOrder() du SDK php en indiquant bien l'instrument afin de lancer une transaction avec une capture "automatique".
Malgré le fait que auto_capture = true, la transaction n'est pas auto capturée et le opurchaseOrderreste en statut pending.
Je suis sur la sandBox en mode MarketPlace
Est-ce que je m'y prends mal ?
Merci
Voici un extrait du call createPaymentOrder()
`$paymentOrder = new \Paygreen\Sdk\Payment\V3\Model\PaymentOrder();
$paymentOrder->setShopId($this->getPSPWalletId());
$paymentOrder->setReference($params["order_id"]);
//soit on fourni un token de carte soit on fournit les infos du payeur
if(isset($params["card_token"]) && !empty($params["card_token"])){
$paymentOrder->setInstrument($params["card_token"]);
$paymentOrder->setAutoCapture(true);
if($params["fees"] > 0){
$fees = (int) ($params["fees"] * 100);
$paymentOrder->setFees($fees);
$paymentOrder->setPlatforms(["bank_card"]);
}
}
$paymentOrder->setAmount($params["amount"] * 100);
$paymentOrder->setAutoCapture(true);
$paymentOrder->setCurrency($params["currency"]);`
Voici le résultat du call createPaymentOrder()
{ ["success"]=> bool(true) ["data"]=> object(stdClass)#462 (35) { ["id"]=> string(35) "po_XXXXX" ["object"]=> string(13) "payment_order" ["amount"]=> int(2600) ["auto_capture"]=> bool(true) ["capture_on"]=> NULL ["buyer"]=> object(stdClass)#459 (7) { ["id"]=> string(36) "buy_XXXXX" ["reference"]=> string(8) "user_539" ["billing_address"]=> object(stdClass)#464 (7) { ["city"]=> string(16) "EXAMPLE" ["country"]=> string(2) "FR" ["line1"]=> string(19) "EXAMPLE" ["line2"]=> NULL ["postal_code"]=> string(5) "EXAMPLE" ["state"]=> NULL ["name"]=> NULL } ["first_name"]=> string(5) "EXAMPLE" ["last_name"]=> string(3) "EXAMPLE" ["email"]=> string(19) "[email protected]" ["phone_number"]=> NULL } ["cancel_url"]=> NULL ["code"]=> NULL ["currency"]=> string(3) "eur" ["cycle"]=> NULL ["description"]=> NULL ["eligible_amounts"]=> NULL ["expires_at"]=> string(25) "2023-12-24T16:56:19+00:00" ["metadata"]=> NULL ["mode"]=> string(7) "instant" ["object_secret"]=> string(16) "EXAMPLE" ["original_amount"]=> int(2600) ["partial_allowed"]=> bool(false) ["max_operations"]=> NULL ["platforms"]=> array(1) { [0]=> string(9) "bank_card" } ["reference"]=> string(4) "8136" ["requester_shop_id"]=> string(35) "sh_XXXXX" ["return_url"]=> string(132) "XXXX" ["shipping_address"]=> NULL ["shop_id"]=> string(35) "sh_XXXXX" ["status"]=> string(21) "payment_order.pending" ["transactions"]=> array(0) { } ["platform_options"]=> object(stdClass)#457 (1) { ["bank_card"]=> object(stdClass)#450 (2) { ["type"]=> string(6) "svad_2" ["reuse_card_proposal"]=> bool(true) } } ["fees"]=> int(115) ["plbs"]=> bool(false) ["hosted_payment_url"]=> string(66) "https://sb-payment.paygreen.fr/po_XXXX" ["merchant_initiated"]=> bool(false) ["paygreen_fees"]=> NULL ["shop_name"]=> string(15) "MON SHOP" ["shop_commercial_name"]=> string(15) "MON SUPER SHOP" } ["message"]=> string(0) "" ["code"]=> int(200) }
Beta Was this translation helpful? Give feedback.
All reactions