LocationInfo.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. declare(strict_types=1);
  3. namespace SixShop\Lakala\Dto;
  4. class LocationInfo implements \JsonSerializable
  5. {
  6. /**
  7. * @param string $requestIP 请求方的IP地址,存在必填,格式如36.45.36.95
  8. * @param string $baseStation 客户端设备的基站信息(主扫时基站信息使用该字段)
  9. * @param string $location 纬度,经度
  10. *
  11. * 商户终端的地理位置,银联二维码交易必填,整体格式:纬度,经度,+表示北纬、东经,-表示南纬、 西经。
  12. *
  13. * 经度格式:1位正负号+3位整数+1位小数点+5位小数;
  14. *
  15. * 纬度格式:1位正负号+2位整数+1位小数点+6位小数;
  16. *
  17. * 举例:+31.221345,+121.12345
  18. */
  19. public function __construct(
  20. private string $requestIP,
  21. private string $baseStation = '',
  22. private string $location = ''
  23. )
  24. {
  25. }
  26. public function jsonSerialize(): array
  27. {
  28. return [
  29. 'request_ip' => $this->requestIP,
  30. 'base_station' => $this->baseStation,
  31. 'location' => $this->location
  32. ];
  33. }
  34. }