Worldpay は WebSocket + STOMP プロトコルを使用した直接統合を提供しています。sgcWebSockets ライブラリを使用して Worldpay API にアクセスできます。TsgcWebSocketClient と STOMP プロトコルクライアントがあれば接続できます。
以下に sgcWebSockets ライブラリを使用して Worldpay に接続するサンプルコードを示します。
Delphi Example
// WebSocket クライアントを作成します
oClient := TsgcWebSocketClient.Create(nil);
oClient.URL := 'wss://localhost:8080/ipc-app/payment/PAYPOINT1';
// STOMP クライアントを作成して WebSocket クライアントに接続します
oSTOMP := TsgcWSPClient_STOMP.Create(nil);
oSTOMP.OnSTOMPConnected := OnSTOMPConnectedEvent;
oSTOMP.Client := oClient;
// 認証キーを CONNECT ヘッダーに追加します
oSTOMP.ConnectHeaders.Clear;
oSTOMP.ConnectHeaders.Add('x-wp-authorization:xxxxxxxxxxxxxxxxxx');
// STOMP サーバーに接続します
oClient.Active := True;
// クライアントがサーバーに正常に接続した後、イベントをサブスクライブします
procedure OnSTOMPConnectedEvent(Connection: TsgcWSConnection; Version, Server, Session, HeartBeat, RawHeaders: string);
begin
oSTOMP.Subscribe('sub-0', '/reply/v1/error');
oSTOMP.Subscribe('sub-1', '/reply/v1/pos/registration');
oSTOMP.Subscribe('sub-2', '/reply/v1/payment/notification');
end;
