Avec la popularité continue du paiement mobile et du paiement en ligne, il est devenu la norme pour les sites Web et les applications pour se connecter au paiement électronique. En tant que cadre de développement PHP efficace, YII fournit aux développeurs des méthodes d'extension flexibles, adaptées à l'intégration rapide des interfaces de paiement tierces. Cet article recommencera à zéro et vous mènera à travers le développement de fonctions de paiement électronique basées sur le cadre YII.
Assurez-vous d'abord que YII soit installé et prêt à créer une nouvelle application. Exécutez les commandes suivantes via la ligne de commande pour construire rapidement la structure du projet:
yii startapp payment
Une fois le projet créé, ajoutez un contrôleur pour gérer la logique de paiement:
yii generate/controller PaymentController
Dans le fichier de configuration de l'application YII (généralement config / main.php ), ajoutez les paramètres suivants pour le composant de paiement:
'paymentGateway' => [
'class' => 'app\components\PaymentGateway',
'apiKey' => 'YOUR_API_KEY',
'apiUrl' => 'https://api.paymentgateway.com/pay',
],
Cette configuration est utilisée pour initialiser les composants de paiement personnalisés, y compris les touches API et les adresses d'interface de paiement. Lorsqu'il est utilisé, il doit être ajusté en fonction des paramètres fournis par le fournisseur de services.
Créez un nouveau fichier de paiement Paytgateway.php dans le répertoire des composants et définissez la classe suivante:
<?php
namespace app\components;
use Yii;
use yii\base\Component;
use yii\base\InvalidConfigException;
class PaymentGateway extends Component
{
public $apiKey;
public $apiUrl;
public function init()
{
parent::init();
if ($this->apiKey === null) {
throw new InvalidConfigException('The "apiKey" property must be set.');
}
if ($this->apiUrl === null) {
throw new InvalidConfigException('The "apiUrl" property must be set.');
}
}
public function processPayment($amount, $cardNumber, $cardExpiry)
{
// Logique pour l'envoi de demandes de paiement
// Le traitement réel de la demande et de la réponse est mis en œuvre en fonction de la passerelle spécifique
}
}
Ce composant est responsable de la gestion de l'interaction avec la passerelle de paiement, de la définition des paramètres d'initialisation et de la fourniture de méthodes de transformation pour l'appel.
Ensuite, modifiez PaytController.php pour y ajouter une logique pour le traitement des demandes de paiement:
<?php
namespace app\controllers;
use Yii;
use yii\web\Controller;
use app\components\PaymentGateway;
class PaymentController extends Controller
{
public function actionProcess($amount, $cardNumber, $cardExpiry)
{
$paymentGateway = Yii::$app->paymentGateway;
try {
$response = $paymentGateway->processPayment($amount, $cardNumber, $cardExpiry);
// Traitement commercial après un paiement réussi
} catch (\Exception $e) {
// Logique de traitement des panneaux de paiement
Yii::error($e->getMessage());
}
}
}
En injectant le composant PaymentGateway dans la configuration, la demande de paiement et la capture d'exception sont réalisées.
Pour que le contrôleur de paiement soit accessible via une URL conviviale, les règles de routage doivent être configurées:
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'payment/process/<amount:\d+>/<cardNumber:\d+>/<cardExpiry:\d+>' => 'payment/process',
],
],
Cette règle de routage cartographiera les URL telles que / paiement / processus / 100/1234567890123456 / 1225 au contrôleur et méthodes d'action correspondants, ce qui le rend pratique pour les appels frontaux.
Grâce aux étapes ci-dessus, vous avez terminé le processus de développement de base de l'intégration des fonctions de paiement électronique dans le cadre YII. À l'avenir, selon les besoins réels du projet, il peut élargir davantage les fonctions de prise en charge de plusieurs méthodes de paiement, de vérification de sécurité, de rappels de résultats de paiement et d'autres fonctions.
Dans un environnement de production réel, veuillez vous assurer que le processus de transmission des informations de paiement adopte HTTPS, mettez strictement à mettre en œuvre les mécanismes de chiffrement des données et de gestion des exceptions pour assurer la sécurité des paiements de l'utilisateur.
J'espère que ce tutoriel vous sera utile pour réaliser le paiement électronique dans le projet YII.